Juan Osorio
Juan Osorio

Reputation: 380

Multiplication of exponential to exponential of the sum in sympy

How can an expression of the form exp(a * x) * exp(b * x) be transformed to exp(a * x +b * x) using sympy?

The starting point would be something like:

from sympy import symbols, exp
from sympy import exp
x, a, b = symbols('x, a, b', real=True)
f = exp(a*x)*exp(b*x)

The inverse transformation has been explained in [1]

[1] Sympy: Multiplications of exponential rather than exponential of sum

Upvotes: 0

Views: 396

Answers (2)

Aaron-S
Aaron-S

Reputation: 71

The simplify command does the job

from sympy import symbols, simplify, exp
x, a, b = symbols('x, a, b', real=True)
f = exp(a*x)*exp(b*x)
fs = simplify(f)

Output

>>> f
exp(ax)exp(bx)
>>> fs
exp(x(a + b))

Upvotes: 2

Hemerson Tacon
Hemerson Tacon

Reputation: 2522

I found that powsimp could do what you want

from sympy import symbols, exp
from sympy import exp, powsimp
x, a, b = symbols('x, a, b', real=True)
f = exp(a*x)*exp(b*x)
powsimp(f)

Output

exp(a*x + b*x)

powdenest also (in this case) do the same

Reference to powsimp

Reference to powdenest

Upvotes: 3

Related Questions