python - 将 SymPy 的计算减慢为更小的步骤

标签 python tree scipy sympy

我正在使用 SymPy,它非常强大。但是,我想让它“慢下来”并一次求解方程的一部分而不是方程的大部分。例如,给定一个输入字符串方程(假设形式正确),如

9x-((17-3)(4x)) - 8(34x)

我想先解决

9x-((14)(4x)) - 8(34x)

然后

9x-(56x) - 8(34x)

然后

9x-(56x) - 272x

等等。

另一个例子,

from sympy import *
s = (30*(5*(5-10)-10*x))+10
s2 = expand(s, basic=False)

一步给我 -300*x - 740,我只想一次完成一个 *

最佳答案

阅读ideas document作为 Google Summer of Code 的成果,这似乎是尚未添加到库中的东西。就目前而言,如果不完全自己编写代码,就无法为您的示例执行此操作。

上述文档讨论并强调了将不等同于人类工作的算法转换为离散步骤的问题。我不确定这是否会成为扩展实现中的一个问题,但这肯定是其他算法的一个问题,因为效率原因,机器的计算方式不同。

tl;dr 此库不支持您的示例的分步分解。目前只有 manualintegrate 函数具有分步工作。

关于python - 将 SymPy 的计算减慢为更小的步骤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30014330/

相关文章:

具有挑战性的递归问题 - 表示进程的树节点

c - 我的二叉搜索树的插入函数有问题

python - scipy.spatial.distance.squareform 的反函数

python - 如何使用 SciPy 仅返回模式

python - 在Python中大规模连接字符串

python - 命名从 CountVectorizer Vector 创建的 DataFrame 列

python - 无法分配必须是表单保存上的实例

mysql - 在一列中显示父亲、儿子的查询

python - 使用 ValueError : A 2-dimensional array must be passed 定义复数列表中的最短对

python - 将 DataFrame 列名称映射到适当的单元格