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