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