Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#106 exp on an equation

None
open
nobody
5
2014-08-10
2012-12-20
Jorge
No

When exp is given an equation, it gives a strange result:

exp(A=B) --> e^(A=B)

It would be more convenient to adopt the same behavior as that used by log:

log(A=B) --> log(A) = log(B)

The latter helps in manipulating exponential equations, as in the following:

(%i2) solve(3^(2*x) = 3^(x^2));
(%o2) [3^x^2 = 3^(2*x)]
(%i3) log(%);
(%o3) [log(3)x^2 = 2log(3)*x]
(%i4) solve(%);
(%o4) [x = 0,x = 2]

Unfortunately, the present behavior does not allow a similar manipulation for logarithmic equations:

(%i5) solve(log(x) + log(x+9) = 2*log(6));
(%o5) [log(x) = 2*log(6)-log(x+9)]
(%i6) exp(%);
(%o6) [%e^(log(x) = 2*log(6)-log(x+9))]
(%i7) solve(%);
(%o7) []

If, for the sake of consistency, the behavior for exp was changed to:

exp(A=B) --> e^A = e^B

then we could solve the equation above as follows:

(%i5) solve(log(x) + log(x+9) = 2*log(6));
(%o5) [log(x) = 2*log(6)-log(x+9)]
(%i6) exp(%);
(%o6) [x = 36/(x+9)]
(%i7) solve(%);
(%o7) [x=-12,x=3]

Discussion

  • Aleksas
    Aleksas
    2012-12-21

    (%i1) eq:log(x) + log(x+9) = 2log(6)$
    (%i2) logcontract(eq);
    (%o2) log(x
    (x+9))=log(36)
    (%i3) map(exp,%);
    (%o3) x*(x+9)=36
    (%i4) solve([%], [x]);
    (%o4) [x=-12,x=3]

    Happy Christmas

    Aleksas

     
  • Robert Dodier
    Robert Dodier
    2013-05-24

    Ticket moved from /p/maxima/bugs/2522/