Сбор всех терминов, связанных с фактором симпи - PullRequest
0 голосов
/ 06 августа 2020

У меня есть выражение, в котором три термина включают r**2, я хотел бы собрать их вместе и вычленить r**2:

>>> foo = a**2*r**2 + 2*a*b*x*r + 2*a*b*r**2 + b**2 + 2*b**2*r + b**2*r**2
>>> foo
 2  2          2                2  2      2      2
a ⋅r  + 2⋅a⋅b⋅r  + 2⋅a⋅b⋅r⋅x + b ⋅r  + 2⋅b ⋅r + b

simplify не изменяет выражение в all.

В моем фактическом случае использования foo на самом деле является подвыражением: я делю на коэффициент r ** 2, так что это будет отменено для этого термина, и все находится под квадратом 1013 1012 *

1 Ответ

1 голос
/ 06 августа 2020

Вы можете использовать collect:

In [84]: collect(foo, r**2)
Out[84]:
               2      2    2 ⎛ 2            2⎞
2⋅a⋅b⋅r⋅x + 2⋅b ⋅r + b  + r ⋅⎝a  + 2⋅a⋅b + b ⎠
...