simplification of exponential



Another interesting method, thank you.

For the last question, a possible solution, though not very elegant :

e: exp(log(6) * x)$
matchdeclare(x, true, y, true)$
defrule(explog, exp(log(x) * y), x^y)$
apply1(e, explog);


-----Message d'origine-----
De?: Anton Voropaev [mailto:anton.n.voropaev at gmail.com] 
Envoy??: vendredi 7 septembre 2012 23:15
??: 'Maxima List'; Jean-Claude Arbaut
Objet?: Re: [Maxima] simplification of exponential

> (%i1) eq: 4^x*(2^x-1)=4*(2^x+1);
> (%o1) (2^x-1)*4^x=4*(2^x+1)

> Now, with radcan, it works fine
> (%i2) subst(x=log(y)/log(2),eq),radcan;
> (%o2) y^3-y^2=4*y+4

There is a way to avoid substitution.

(%i3) radcan(eq), logsimp=false;
(%o3) %e^(3*log(2)*x)-%e^(2*log(2)*x) = 4*%e^(log(2)*x)+4
(%i4) solve(%);
<13 lines of output>

This trick also enables factorization. For example,

(%i5) radcan(36^x-2*6^x+1), logsimp=false;
(%o5) %e^((2*log(3)+2*log(2))*x)-2*%e^((log(3)+log(2))*x)+1
(%i6) factor(%);
(%o6) (%e^(log(3)*x+log(2)*x)-1)^2
(%i7) logcontract(%);
(%o7) (%e^(log(6)*x)-1)^2

I wonder if exp(log(6)*x) can be converted back to 6^x.