Как я могу объединить или развернуть экспоненты в выражении в шалфе? Другими словами, как я могу заставить мудреца переписать выражение от (a**b)**c
до a**(b*c)
или наоборот?sage math: как объединить или развернуть экспоненты в символическом выражении?
Примеры:
sage: var('x y')
(x, y)
sage: assume(x, 'rational')
sage: assume(y, 'rational')
sage: combine_exponents((x^2)^y)
x^(2*y)
sage: assume(x > 0)
sage: expand_exponents(x^(1/3*y))
(x^y)^(1/3)
То, что я уже пробовал:
sage: b = x^(2*y)
sage: a = (x^2)^y
sage: bool(a == b)
True
sage: a
(x^2)^y
sage: simplify(a)
(x^2)^y
sage: expand(a)
(x^2)^y
sage: b
x^(2*y)
sage: expand(b)
x^(2*y)
Update:
simplify_exp
(ответ codelion в) работает для преобразования (a**b)**c
в a**(b*c)
, но не наоборот. Можно ли заставить шалфея также расширять экспоненты?
Это заботится о одном направлении, спасибо, но как расширить показатели? Как преобразовать b в a? – Oleg