numpy (python) 和 symja (java) 都算是代数计算系统,
我试了下,它们做因式分解挺强的,但化简能力欠佳。
哪位老师能解释一下?
>>> 化简如下:
(a+(a+b)^2)/(a^2+b^2+2*a*b) 当化简成 a/(a+b)^2+1
(a+(a+b)^2)/(a+b)^2 亦当化简成 a/(a+b)^2+1
(a+b)^2)/(a+b)^3 化简成 1/(a+b)
>>> 先用symja 试了一下,只有最后一个成功。
>>> numpy测试如下:
ret=simplify("(a+b)**2/(a**2+b**2+2*a*b)")
print("5.1ret=",ret) #1, ok.
ret=simplify("(a+(a+b)**2)/(a**2+b**2+2*a*b)")
print("5.2ret=",ret) # failed.
ret=simplify("(a+(a+b)**2)/(a+b)**2")
print("5.3ret=",ret) #ok.
输出结果:
5.1ret= 1
5.2ret= (a + (a + b)**2)/(a**2 + 2*a*b + b**2)
5.3ret= a/(a + b)**2 + 1
看得出来,第2个也错了。
也就是说,它们不能够灵活套取完全平方公式,也不能够灵活进行通分的逆运算。
哎,真的吗?一些代数系统,没有想象中全面强大。