1
$\begingroup$

In mathematica 9.0:

This:

Assuming[b > 0 || b < 0, Simplify[Log[Exp[a/b]]]]

yields:

a/b

However, this:

Assuming[FullSimplify[b > 0 || b < 0], Simplify[Log[Exp[a/b]]]]
enter code here

or this:

Assuming[b !=0 , Simplify[Log[Exp[a/b]]]]

Yield:

Log[Exp[a/b]]

Shouldn't be both equivalent? Why isn't the expression simplified in the second case?. Also tried to add ass an assumption a and b to be real, just in case, but doesn't work either. Could someone shed any light on this?

$\endgroup$
2
  • $\begingroup$ I evaluated Assuming[b > 0 || b < 0, Simplify[Log[Exp[a/b]]]] in Mathematica ver.7, 8 and 9 runing Windows. I get always Log[Exp[a/b]]], never a/b as you claim. What version do you use? $\endgroup$
    – Artes
    Oct 16, 2013 at 19:55
  • $\begingroup$ FullSimplify[Log[Exp[a/b]], Assumptions -> {a \[Element] Reals, b > 0}] gives a/b in v9 but original formulation gives Log[Exp[a/b] $\endgroup$
    – bill s
    Oct 16, 2013 at 20:09

1 Answer 1

1
$\begingroup$

I suspect that this has to do with the assumption b > 0 implicitly stating that b is a real, where that is not the case with b != 0. This is, of course, because there is no natural ordering of complex numbers, but they do have a 0-element to compare against. As evidence for this answer, note that

Assuming[Element[b, Reals] && b != 0, Simplify[Log[Exp[a/b]]]]

Gives the expected result of a/b where it didn't above.

$\endgroup$
1
  • $\begingroup$ This is exactly right. Try FindInstance[Log[Exp[a/(1 + I)]] != a/(1 + I), a] $\endgroup$
    – Greg Hurst
    Oct 16, 2013 at 21:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.