繁体   English   中英

sympy:表达简化

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM