有没有办法在SymPy中获得逐步解决方案?

时间:2016-09-06 23:31:08

标签: python math sympy

有没有办法在SymPy中获得逐步解决方案?例如:

x**2-5 = 4
  step 1 x**2-5+5=4+5
  step 2 : x**2=9
  step 3 :x = 3 or x= -3

1 个答案:

答案 0 :(得分:1)

(这是一个评论作为回答)

Google有一些实施

的想法

逐步表达式可视化

GSoC 2014 Ideas: 很多时候,人们会问他们如何分辨一些功能正在做什么。例如,他们想逐步了解......对于前者,你可以做的最好是遵循代码;对于后者,算法完全没有像你手工做的那样工作,所以真的没办法......

GSoC 2015 Ideas:

分步策略

许多SymPy操作背后的逻辑分为几个小方法。例如,sin或exp之类的对象具有_eval_derivative方法,这些方法被称为SymPy,用于计算复杂表达式的导数,如sin(exp(x))。通过捕获所有这些小方法的输入和输出,我们可以收集有关SymPy采取的步骤的大量信息。我们可以看到exp._eval_derivative接受exp(x)并返回exp(x)并且sin._eval_derivative接受sin(exp(x))并返回cos(exp(x))* exp(x)。每种方法的这些输入 - 输出对可能足以说明SymPy如何解决许多领域中的问题。

这种捕获许多内部函数输入的方法类似于传统上用于分析大型代码库的日志记录系统。我们应该调查它们是如何工作的,以及它们是否会导致正常操作出现任何问题。

一旦获得这些信息来源,我们就可以考虑可视化和与之交互的有趣方式。一个好的解决方案不会不可逆转地将数据流与特定的可视化技术联系起来。

这种方法在理智上是直截了当的,但可能要求学生与很多代码库进行交互。像_eval_derivative这样的方法在整个SymPy中无处不在,但在不同的模块中通常有很小的变化。

这是一个在线解决方案SymPy Gamma