sympy: упрощение выражения

Я начинаю с 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

person JuanPablo    schedule 02.06.2013    source источник


Ответы (1)


collect - это действительно та функция, которую вы хотите. Вы можете передать несколько символов в качестве переменной коллекции, чтобы собрать их все. И, как вы заметили, collect не будет сначала расширять ваше выражение, поэтому, если вы этого хотите, вы должны сделать это сами с помощью expand.

In [15]: collect(e.expand(), [a, b, c])
Out[15]: a⋅(p + q) + b⋅p + c⋅q
person asmeurer    schedule 02.06.2013