7
$\begingroup$

I have

Simplify[ProductLog[x*Exp[x]]]

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.

$\endgroup$

3 Answers 3

12
$\begingroup$

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 *)
$\endgroup$
0
6
$\begingroup$
PowerExpand[ProductLog[x Exp[x]]]

x

This assumes $x\ge0$

$\endgroup$
3
  • 1
    $\begingroup$ ...PowerExpand[] is dangerous to use in general, unless you know what you're doing. $\endgroup$ Commented Jun 18, 2016 at 14:03
  • $\begingroup$ @J.M. Sure, but according to the documentation center, this is the correct way to simplify ProductLog expressions. $\endgroup$
    – Feyre
    Commented Jun 18, 2016 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$ Commented Jun 18, 2016 at 14:09
5
$\begingroup$

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
N[tab]

gives

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

and

{{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

$\endgroup$

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.