Как можно преобразовать выражение exp (a * x) * exp (b * x) в exp (a * x + b * x) с помощью sympy?
Начальная точка будетчто-то вроде:
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)
Обратное преобразование было объяснено в [1]
[1] Симп: умножения экспоненциальных, а не экспоненциальных сумм
Команда simplify выполняет работу
simplify
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)
Вывод
>>> f exp(ax)exp(bx) >>> fs exp(x(a + b))
Я обнаружил, что powsimp может делать то, что вы хотите
powsimp
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)
exp(a*x + b*x)
powdenest также (в этом случае) делатьтот же
powdenest
ссылка до powsimp
ссылка до powdenest