[英]sympy : expression simplification
我从sympy python lib开始。
如果,我有这个表达
from sympy.abc import a,b,c,p,q
e = p * ( a + b ) + q * ( a + c )
我如何使用a,b,c
作为因子? 喜欢
a(p+q) + b*p + c*q
from sympy.abc import a,b,c,p,q
from sympy import collect, expand
e = p * ( a + b ) + q * ( a + c )
print e
print expand(e)
print collect(expand(e),a)
collect
确实是你想要的功能。 您可以将多个符号作为集合变量传递以收集它们。 正如你所注意到的那样, collect
不会首先扩展你的表达,所以如果你想要,你必须自己做expand
。
In [15]: collect(e.expand(), [a, b, c])
Out[15]: a⋅(p + q) + b⋅p + c⋅q
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.