I have


By the definition of the Lambert function, this should be simply x. But Mathematica outputs this:

ProductLog[E^x x]

Adding assumptions (e.g., x is real) does not help. Why doesn't Mathematica treat ProductLog[x*Exp[x]] as x, just like it treats Log[Exp[x]] as x (if x is real)? Due to this I cannot, e.g., verify some solutions that DSolve gave for a certain ODE, and this solution contained ProductLog. When I substitute that solution into the original ODE, I do not get zero identically, but instead a cumbersome expression, even after applying FullSimplify.


The identity does not hold for x < -1:

Plot[ProductLog[x*Exp[x]], {x, -5, 5}]

enter image description here

FullSimplify[ProductLog[x*Exp[x]], x >= -1]
x    (* result in 10.1.0 under Windows *)
PowerExpand[ProductLog[x Exp[x]]]


This assumes $x\ge0$

  • 1
    $\begingroup$ ...PowerExpand[] is dangerous to use in general, unless you know what you're doing. $\endgroup$
    – J. M.'s torpor
    Jun 18 '16 at 14:03
  • $\begingroup$ @J.M. Sure, but according to the documentation center, this is the correct way to simplify ProductLog expressions. $\endgroup$
    – Feyre
    Jun 18 '16 at 14:06
  • $\begingroup$ Yes, I'm merely giving the general reminder that one should not thoughtlessly use PowerExpand[], in the same manner that one should not thoughtlessly simplify $\log \exp x$ to $x$. $\endgroup$
    – J. M.'s torpor
    Jun 18 '16 at 14:09

The equation

x Exp[x]  == y

has multiple solutions for x.

For example, evaluating

tab = Table[{x -> ProductLog[i, 1]}, {i, 0, 5}]
Exp[x] x /. tab


{1, 1, 1, 1, 1, 1}


{{x -> 0.567143}, {x -> -1.53391 + 4.37519 I}, {x -> -2.40159 + 
10.7763 I}, {x -> -2.85358 + 17.1135 I}, {x -> -3.16295 + 
23.4277 I}, {x -> -3.39869 + 29.7313 I}}

Therefore, it would be potentially incorrect to simplify Simplify[ProductLog[x*Exp[x]]] to x


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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