我发现了一个我无法理解的关于 Sympy 的问题。
为什么这会返回 false...
factor(81*q + 90) == 9*(9*q + 10)
...同时返回 true?
factor(q**2-64) == (q+8)*(q-8)
当我打字时
factor(81*q + 90)
输出正是这个表达式
9*(9*q + 10)
那么,为什么 Sympy 不认为我的第一个比较是正确的?
最佳答案
SymPy 自动分配 number*addition
,例如 9*(9*q + 10)
到 81*q + 90
。 factor
使用一个技巧来防止这种自动简化(基本上,Mul(9, 9*q + 10, evaluate=False)
)。
有一个open issue删除此自动简化,但尚未实现。
关于python - 比较 Sympy 因子结果为 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35417031/