3
我從sympy python lib開始。sympy:表達式簡化
如果,我有這樣的表達
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
我從sympy python lib開始。sympy:表達式簡化
如果,我有這樣的表達
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