如何在 Sympy Python 中分解指数项?

How to factor exponential terms in Sympy Python?

如何转换这样的表达式:

y = [x*e^(x/2) + e^x + e^(x/2)]^2

在此:

y = {e^(x/2)*[x + e^(x/2) + 1]}^2

使用 Sympy??

似乎因式分解不识别指数和幂。所以转换 exp(x/2) -> y,因子,然后返回替代:

>>> eq
(x*exp(x/2) + exp(x/2) + exp(x))**2
>>> factor(eq.subs(exp(x/2),y)).subs(y,exp(x/2))
(x + exp(x/2) + 1)**2*exp(x)