numpy和symja 的化简能力都不强,为什么?

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个也错了。

也就是说,它们不能够灵活套取完全平方公式,也不能够灵活进行通分的逆运算。

哎,真的吗?一些代数系统,没有想象中全面强大。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值