问题描述
我有几个表达式,如果化简能够像屏幕截图中那样识别二项式的平方,则化简会大大改进。
有没有办法让 sympy/simplify 做到这一点?
import sympy as sp
a,b = sp.symbols('a,b',positive=True)
sp.simplify(sp.sqrt(a**2))
test = a + b - sp.sqrt(a**2+b**2+2*a*b)
sp.simplify(test)
解决方法
--- 这是 0,但 sympy/simplify 无法识别二项式的平方
不,不是,问题不在于同情,而在于你对数学的理解。
a + b - sqrt(a\*\*2 + b\*\*2 + 2\*a\*b)
不等于 0
,它等于 (a + b) +- (a + b)
或者换句话说;它等于 0
OR 2 * (a + b)
,这是因为 sqrt((a + b)**2)
等于 +- (a + b)
。
+-
此处用于表示“加或减”。