python – sympy v1.0 factor是否给出(2 * 4)(2 * 4)/(2 x)的错误答案?

Windows 8.1上使用python 3.5.1 64位,我安装了sympy,1.0.

以交互方式运行

from sympy import *
p = symbols('p')
factor('8 + 8/(2+p)')

结果是8 *(p 3)/(p 2).

如果我转到http://live.sympy.org/运行sympy 0.7.6和python 2.7.5并输入相同的等式并按下评估按钮,我得到了正确的答案.

8 + 8/(2+p)  

没有减少.为什么我在Python 3.5.1和sympy 1.0中得到了错误的答案?

解决方法:

你没有得到错误的答案.所有sympy.factor确保的是多项式在有理数上被分解为不可约分数.

请注意

python  –  sympy v1.0 factor是否给出(2 * 4)(2 * 4)/(2 x)的错误答案?

因此,版本1.0中因子给出的形式是正确的,并且表示超过有理数的不可简化的分数.

更新:我在SymPy Live上运行了你的代码,你在使用因子时获得完全相同的分数,而没有8分解.他们是一样的.请注意,Steven Rumbalski说,评估和保理是两回事.

上一篇:Visual Studio 2010 将网站直接发布到远程站点


下一篇:python – 从字符串到sympy表达式