Sympy 似乎无法简化涉及变量平方的平方根的表达式:
In [28]: a = x**2
In [29]: b = a**(1/2)
In [30]: b
Out[30]:
0.5
⎛ 2⎞
⎝x ⎠
In [31]: b.simplify()
Out[31]:
0.5
⎛ 2⎞
⎝x ⎠
我无法将此与其他变体一起使用simplify
,特别是我会认为b.powsimp()
应该管用。
In [32]: b.powsimp()
Out[32]:
0.5
⎛ 2⎞
⎝x ⎠
有谁知道为什么这不起作用,或者我做错了什么?
你的例子有两个问题。
First sqrt(x**2)==x
仅适用于positive实数。
二、对于SymPy1/2
and 0.5
不是同一件事。第一个是Rational
例如,第二个是float
实例。
最后举个例子:
>>> x = Symbol('x', real=True)
>>> (x**2)**(1./2)
∣x∣**1.0
>>> (x**2)**(S(1)/2) # S() is short for sympify()
∣x∣
sympify
将 python 对象转换为更合适的 SymPy 对象。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)