Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

In mathematica 9.0:


Assuming[b > 0 || b < 0, Simplify[Log[Exp[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]]]]



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?

share|improve this question
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? – Artes Oct 16 '13 at 19:55
FullSimplify[Log[Exp[a/b]], Assumptions -> {a \[Element] Reals, b > 0}] gives a/b in v9 but original formulation gives Log[Exp[a/b] – bill s Oct 16 '13 at 20:09

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.

share|improve this answer
This is exactly right. Try FindInstance[Log[Exp[a/(1 + I)]] != a/(1 + I), a] – Chip Hurst Oct 16 '13 at 21:09

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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