Lambert W-Function

LambertWFunction

The Lambert W-function, also called the omega function, is the inverse function of

 f(W)=We^W.
(1)

The plot above shows the function along the real axis. The principal value of the Lambert W-function is implemented in the Wolfram Language as ProductLog[z]. Different branches of the function are available in the Wolfram Language as ProductLog[k, z], where k is any integer and k=0 corresponds to the principal value. Although undocumented, LambertW[k, z] autoevaluates to ProductLog[k, z] in the Wolfram Language.

Lambert (1758) considered the solution to

 x^a-x^b=(a-b)vx^(a+b),
(2)

now known as Lambert's transcendental equation. Euler heard about Lambert's paper in 1764 when Lambert moved from Zurich to Berlin. After some private disputes about the priorities of some related series expansions in 1770/1771, Euler (1783) wrote a paper about Lambert's transcendental equation in which he introduced a special case which reduces to wa^w=lx, which is nearly the definition of W(x), although Euler proposed defining a function more like -W(-x). Euler considered series solutions in this paper and, in the first paragraph, explicitly quotes Lambert as the one who first considered this equation.

Eisenstein (1844) considered the series of the infinite power tower

 h(z)=z^(z^(·^(·^·))),
(3)

which can be expressed in closed form as

 h(z)=-(W(-lnz))/(lnz).
(4)

Pólya and Szegö (1925) were the first to use the symbol W for the Lambert function.

Banwell and Jayakumar (2000) showed that a W-function describes the relation between voltage, current, and resistance in a diode, and Packel and Yuen (2004) applied the W-function to a ballistic projectile in the presence of air resistance. Other applications have been discovered in statistical mechanics, quantum chemistry, combinatorics, enzyme kinetics, the physiology of vision, the engineering of thin films, hydrology, and the analysis of algorithms (Hayes 2005).

LambertWReImAbs
Min Max
Re
Im Powered by webMathematica

The Lambert W-function is illustrated above in the complex plane.

LambertWRiemannSurfaces

The real (left) and imaginary (right) parts of the analytic continuation of W(z) over the complex plane are illustrated above (M. Trott, pers. comm.).

W(x) is real for x>=-1/e. It has the special values

W(-1/2pi)=1/2ipi
(5)
W(-e^(-1))=-1
(6)
W(0)=0
(7)
W(1)=0.567143....
(8)

W(1)=0.567143... (OEIS A030178) is called the omega constant and can be considered a sort of "golden ratio" of exponentials since

 exp[-W(1)]=W(1),
(9)

giving

 ln[1/(W(1))]=W(1).
(10)

The Lambert W-function obeys the identity

 W(x)+W(y)=W(xy(1/(W(x))+1/(W(y))))
(11)

(pers. comm. from R. Corless to O. Marichev, Sep. 29, 2015).

LambertWUnityReImAbs
Min Max
Re
Im Powered by webMathematica

The function W(ze^z)/z has a very complicated structure in the complex plane, but is simply equal to 1 for R[z]>=1 and a slightly extended region above and below the real axis.

The Lambert W-function has the series expansion

W(x)=sum_(n=1)^(infty)((-1)^(n-1)n^(n-2))/((n-1)!)x^n
(12)
=x-x^2+3/2x^3-8/3x^4+(125)/(24)x^5-(54)/5x^6+(16807)/(720)x^7+....
(13)

The Lagrange inversion theorem gives the equivalent series expansion

 W(z)=sum_(n=1)^infty((-n)^(n-1))/(n!)z^n,
(14)

where n! is a factorial. However, this series oscillates between ever larger positive and negative values for real z>~0.4, and so cannot be used for practical numerical computation.

An asymptotic formula which yields reasonably accurate results for z>~3 is

W(z)=lnz-lnlnz+sum_(k=0)^(infty)sum_(m=0)^(infty)c_(km)(lnlnz)^(m+1)(lnz)^(-k-m-1)
(15)
=L_1-L_2+(L_2)/(L_1)+(L_2(-2+L_2))/(2L_1^2)+(L_2(6-9L_2+2L_2^2))/(6L_1^3)+(L_2(-12+36L_2-22L_2^2+3L_2^3))/(12L_1^4)+(L_2(60-300L_2+350L_2^2-125L_2^3+12L_2^4))/(60L_1^5)+O[((L_2)/(L_1))^6],
(16)

where

L_1=lnz
(17)
L_2=lnlnz
(18)

(Corless et al. 1996), correcting a typographical error in de Bruijn (1981). Another expansion due to Gosper (pers. comm., July 22, 1996) is the double series

 W(x)=a+sum_(n=0)^infty{sum_(k=0)^n(S_1(n,k))/([ln(x/a)-a]^(k-1)(n-k+1)!)}[1-(ln(x/a))/a]^n,
(19)

where S_1 is a nonnegative Stirling number of the first kind and a is a first approximation which can be used to select between branches. The Lambert W-function is two-valued for -1/e<=x<0. For W(x)>=-1, the function is denoted W_0(x) or simply W(x), and this is called the principal branch. For W(x)<=-1, the function is denoted W_(-1)(x). The derivative of W is

W^'(x)=1/([1+W(x)]exp[W(x)])
(20)
=(W(x))/(x[1+W(x)])
(21)

for x!=0. For the principal branch when z>0,

 ln[W(z)]=lnz-W(z).
(22)

The nth derivatives of the Lambert W-function are given by

 W^((n))(z)=(W^(n-1)(z))/(z^n[1+W(z)]^(2n-1))sum_(k=1)^na_(kn)W^k(z),
(23)

where a_(kn) is the number triangle

 1
-2  -1
9    8    2
-64  -79  -36  -6
625    974    622    192    24
(24)

(OEIS A042977). This has exponential generating function

f(x)=(W(e^x(x+y(1+x)^2))-x)/(1+x)
(25)
=y-1/(2!)(x+2)y^2+1/(3!)(2x^2+8x+9)y^3-1/(4!)(6x^3+36x^2+79x+64)y^4+....
(26)

Wolfram Web Resources

Mathematica »

The #1 tool for creating Demonstrations and anything technical.

Wolfram|Alpha »

Explore anything with the first computational knowledge engine.

Wolfram Demonstrations Project »

Explore thousands of free applications across science, mathematics, engineering, technology, business, art, finance, social sciences, and more.

Computerbasedmath.org »

Join the initiative for modernizing math education.

Online Integral Calculator »

Solve integrals with Wolfram|Alpha.

Step-by-step Solutions »

Walk through homework problems step-by-step from beginning to end. Hints help you try the next step on your own.

Wolfram Problem Generator »

Unlimited random practice problems and answers with built-in Step-by-step solutions. Practice online or make a printable study sheet.

Wolfram Education Portal »

Collection of teaching and learning tools built by Wolfram education experts: dynamic textbook, lesson plans, widgets, interactive Demonstrations, and more.

Wolfram Language »

Knowledge-based programming for everyone.