Lambert W function

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

The graph of y = W(x) for real x < 6 and y > −4. The upper branch (blue) with y ≥ −1 is the graph of the function W0 (principal branch), the lower branch (red) with y ≤ −1 is the graph of the function W−1. The minimum value of x is at {-1/e,-1}

In mathematics, the Lambert W function, also called the omega function or product logarithm, is a multivalued function, namely the branches of the inverse relation of the function f(w) = wew, where w is any complex number and ew is the exponential function.

For each integer k there is one branch, denoted by Wk(z), which is a complex-valued function of one complex argument. W0 is known as the principal branch. These functions have the following property: if z and w are any complex numbers, then

holds if and only if

When dealing with real numbers only, the two branches W0 and W−1 suffice: for real numbers x and y the equation

can be solved for y only if x ≥ −1/e; we get y = W0(x) if x ≥ 0 and the two values y = W0(x) and y = W−1(x) if 1/ex < 0.

The Lambert W relation cannot be expressed in terms of elementary functions.[1] It is useful in combinatorics, for instance, in the enumeration of trees. It can be used to solve various equations involving exponentials (e.g. the maxima of the Planck, Bose–Einstein, and Fermi–Dirac distributions) and also occurs in the solution of delay differential equations, such as y′(t) = a y(t − 1). In biochemistry, and in particular enzyme kinetics, a closed-form solution for the time-course kinetics analysis of Michaelis–Menten kinetics is described in terms of the Lambert W function.

Main branch of the Lambert W function in the complex plane. Note the branch cut along the negative real axis, ending at 1/e. In this picture, the hue of a point z is determined by the argument of W(z), and the brightness by the absolute value of W(z).
The modulus of the principal branch of the Lambert W function, colored according to arg W(z)


The Lambert W function is named after Johann Heinrich Lambert. The principal branch W0 is denoted Wp in the Digital Library of Mathematical Functions, and the branch W−1 is denoted Wm there.

The notation convention chosen here (with W0 and W−1) follows the canonical reference on the Lambert W function by Corless, Gonnet, Hare, Jeffrey and Knuth.[2]


Lambert first considered the related Lambert's Transcendental Equation in 1758,[3] which led to an article by Leonhard Euler in 1783[4] that discussed the special case of wew.

The function Lambert considered was

Euler transformed this equation into the form

Both authors derived a series solution for their equations.

Once Euler had solved this equation he considered the case a = b. Taking limits he derived the equation

He then put a = 1 and obtained a convergent series solution for the resulting equation, expressing x in terms of c.

After taking derivatives with respect to x and some manipulation, the standard form of the Lambert function is obtained.

In 1993, when it was reported that the Lambert W function provides an exact solution to the quantum-mechanical double-well Dirac delta function model for equal charges—a fundamental problem in physics—Corless and developers of the Maple computer algebra system made a library search and found that this function was ubiquitous in nature.[2][5]

Another example where this function is found is in Michaelis–Menten kinetics.

Elementary properties, branches and range[edit]

The range of the W function, showing all branches. The black curves (including the real axis) form the image of the real axis, the orange curves are the image of the imaginary axis. The purple curve is the image of a small circle around the point z = 0; the red curves are the image of a small circle around the point z = −1/e.
Plot of the imaginary part of W[n,x+i y] for branches n=-2,-1,0,1,2. The plot is similar to that of the multivalued complex logarithm function except that the spacing between sheets is not constant and the connection of the principal sheet is different

There are countably many branches of the W function, denoted by Wk(z), for integer k; W0(z) being the main (or principal) branch. W0(z) is defined for all complex numbers z while Wk(z) with k ≠ 0 is defined for all non-zero z. We have W0(0) = 0 and limz→0 Wk(z) = −∞ for all k ≠ 0.

The branch point for the principal branch is at z = −1/e, with a branch cut that extends to −∞ along the negative real axis. This branch cut separates the principal branch from the two branches W−1 and W1. In all branches Wk with k ≠ 0, there is a branch point at z = 0 and a branch cut along the entire negative real axis.

The functions Wk(z), kZ are all injective and their ranges are disjoint. The range of the entire multivalued function W is the complex plane. The image of the real axis is the union of the real axis and the quadratrix of Hippias, the parametric curve w = −t cot t + it.


Regions of the complex plane for which W(n,zez) = z. The darker boundaries of a particular region are included in the lighter colored region of the same color. The point at {-1,0} is included in both the n=-1 (blue) region and the n=0 (gray) region. Horizontal grid lines are in multiples of π.

The range plot above also delineates the regions in the complex plane where the simple inverse relationship W(n,zez) = z is true. f=zez implies that there exists an n such that z=W(n,f)=W(n,zez), where n will depend upon the value of z. The value of the integer n will change abruptly when zez is at the branch cut of W(n,zez) which will mean that zez ≤ 0, except for n=0 where it will be zez ≤ -1/e.

Define z=x+iy where x and y are real. Expressing ez in polar coordinates, it is seen that:

For , the branch cut for W[n,zez] will be the non-positive real axis so that:


For , the branch cut for W[n,z ez] will be the real axis with so that the inequality becomes:

Inside the regions bounded by the above, there will be no discontinuous changes in W(n,zez) and those regions will specify where the W function is simply invertible: i.e. W(n,zez) = z.



By implicit differentiation, one can show that all branches of W satisfy the differential equation

(W is not differentiable for z = −1/e.) As a consequence, we get the following formula for the derivative of W:

Using the identity eW(z) = z/W(z), we get the following equivalent formula:

At the origin we have


The function W(x), and many expressions involving W(x), can be integrated using the substitution w = W(x), i.e. x = wew:

(The last equation is more common in the literature but does not hold at x = 0). One consequence of this (using the fact that W0(e) = 1) is the identity

Asymptotic expansions[edit]

The Taylor series of W0 around 0 can be found using the Lagrange inversion theorem and is given by

The radius of convergence is 1/e, as may be seen by the ratio test. The function defined by this series can be extended to a holomorphic function defined on all complex numbers with a branch cut along the interval (−∞, −1/e]; this holomorphic function defines the principal branch of the Lambert W function.

For large values of x, W0 is asymptotic to

where L1 = ln x, L2 = ln ln x, and [l + m
l + 1
is a non-negative Stirling number of the first kind.[2] Keeping only the first two terms of the expansion,

The other real branch, W−1, defined in the interval [−1/e, 0), has an approximation of the same form as x approaches zero, with in this case L1 = ln(−x) and L2 = ln(−ln(−x)).[2]

It is shown[6] that the following bound holds (the upper bound only for xe):

In 2013 it was proven[7] that the branch W−1 can be bounded as follows:

Integer and complex powers[edit]

Integer powers of W0 also admit simple Taylor (or Laurent) series expansions at zero:

More generally, for r, the Lagrange inversion formula gives

which is, in general, a Laurent series of order r. Equivalently, the latter can be written in the form of a Taylor expansion of powers of W0(x) / x:

which holds for any r and |x| < 1/e.


A plot of Wj(x ex) where blue is for j=0 and red is for j=-1. The diagonal line represents the intervals where Wj(x ex)=x

A few identities follow from the definition:

Note that, since f(x) = xex is not injective, it does not always hold that W(f(x)) = x, much like with the inverse trigonometric functions. For fixed x < 0 and x ≠ −1, the equation xex = yey has two solutions in y, one of which is of course y = x. Then, for i = 0 and x < −1, as well as for i = −1 and x ∈ (−1, 0), y = Wi(xex) is the other solution.

Some other identities:[8]

(which can be extended to other n and x if the correct branch is chosen).

Substituting −ln x in the definition:

With Euler's iterated exponential h(x):

Special values[edit]

For any nonzero algebraic number x, W(x) is a transcendental number. Indeed, if W(x) is zero, then x must be zero as well, and if W(x) is nonzero and algebraic, then by the Lindemann–Weierstrass theorem, eW(x) must be transcendental, implying that x = W(x)eW(x) must also be transcendental.

The following are special values of the principal branch:

(the Omega constant).


The principal branch of the Lambert function can be represented by a proper integral, due to Poisson:[10]

On the wider domain 1/exe, the considerably simpler representation is found by Mező:[11]

The following continued fraction representation also holds for the principal branch:[12]

Also, if |W(z)| < 1:[13]

In turn, if |W(z)| > e, then

Other formulas[edit]

Definite integrals[edit]

There are several useful definite integral formulas involving the principal branch of the W function, including the following:

The first identity can be found by writing the Gaussian integral in polar coordinates.

The second identity can be derived by making the substitution u = W(x), which gives


The third identity may be derived from the second by making the substitution u = x−2 and the first can also be derived from the third by the substitution z = 1/2 tan x.

Except for z along the branch cut (−∞, −1/e] (where the integral does not converge), the principal branch of the Lambert W function can be computed by the following integral:[14]

where the two integral expressions are equivalent due to the symmetry of the integrand.

Indefinite integrals[edit]


Solving equations[edit]

The Lambert W function is used to solve equations in which the unknown quantity occurs both in the base and in the exponent, or both inside and outside of a logarithm. The strategy is to convert such an equation into one of the form zez = w and then to solve for z. using the W function.

For example, the equation

(where x is an unknown real number) can be solved by rewriting it as

This last equation has the desired form and the solutions for real x are:

and thus:

Generally, the solution to


where a, b, and c are complex constants, with b and c not equal to zero, and the W function is of any integer order.

Viscous flows[edit]

Granular and debris flow fronts and deposits, and the fronts of viscous fluids in natural events and in laboratory experiments can be described by using the Lambert–Euler omega function as follows:

where H(x) is the debris flow height, x is the channel downstream position, L is the unified model parameter consisting of several physical and geometrical parameters of the flow, flow height and the hydraulic pressure gradient.

In pipe flow, the Lambert W function is part of the explicit formulation of the Colebrook equation for finding the Darcy friction factor. This factor is used to determine the pressure drop through a straight run of pipe when the flow is turbulent.[15]


The Lambert W function was employed in the field of neuroimaging for linking cerebral blood flow and oxygen consumption changes within a brain voxel, to the corresponding blood oxygenation level dependent (BOLD) signal.[16]

Chemical engineering[edit]

The Lambert W function was employed in the field of chemical engineering for modelling the porous electrode film thickness in a glassy carbon based supercapacitor for electrochemical energy storage. The Lambert W function turned out to be the exact solution for a gas phase thermal activation process where growth of carbon film and combustion of the same film compete with each other.[17][18]

Materials science[edit]

The Lambert W function was employed in the field of epitaxial film growth for the determination of the critical dislocation onset film thickness. This is the calculated thickness of an epitaxial film, where due to thermodynamic principles the film will develop crystallographic dislocations in order to minimise the elastic energy stored in the films. Prior to application of Lambert W for this problem, the critical thickness had to be determined via solving an implicit equation. Lambert W turns it in an explicit equation for analytical handling with ease.[19]

Porous media[edit]

The Lambert W function has been employed in the field of fluid flow in porous media to model the tilt of an interface separating two gravitationally segregated fluids in a homogeneous tilted porous bed of constant dip and thickness where the heavier fluid, injected at the bottom end, displaces the lighter fluid that is produced at the same rate from the top end. The principal branch of the solution corresponds to stable displacements while the −1 branch applies if the displacement is unstable with the heavier fluid running underneath the lighter fluid.[20]

Bernoulli numbers and Todd genus[edit]

The equation (linked with the generating functions of Bernoulli numbers and Todd genus):

can be solved by means of the two real branches W0 and W−1:

This application shows that the branch difference of the W function can be employed in order to solve other transcendental equations.[21]


The centroid of a set of histograms defined with respect to the symmetrized Kullback–Leibler divergence (also called the Jeffreys divergence) has a closed form using the Lambert W function.[22]

Exact solutions of the Schrödinger equation[edit]

The Lambert W function appears in a quantum-mechanical potential, which affords the fifth – next to those of the harmonic oscillator plus centrifugal, the Coulomb plus inverse square, the Morse, and the inverse square root potential – exact solution to the stationary one-dimensional Schrödinger equation in terms of the confluent hypergeometric functions. The potential is given as

A peculiarity of the solution is that each of the two fundamental solutions that compose the general solution of the Schrödinger equation is given by a combination of two confluent hypergeometric functions of an argument proportional to[23]

The Lambert W function also appears in the exact solution for the bound state energy of the one dimensional Schrödinger equation with a Double Delta Potential.

Exact solutions of the Einstein vacuum equations[edit]

In the Schwarzschild metric solution of the Einstein vacuum equations, the W function is needed to go from the Eddington–Finkelstein coordinates to the Schwarzschild coordinates. For this reason, it also appears in the construction of the Kruskal–Szekeres coordinates.

Resonances of the delta-shell potential[edit]

The s-wave resonances of the delta-shell potential can be written exactly in terms of the Lambert W function.[24]

Thermodynamic equilibrium[edit]

If a reaction involves reactants and products having heat capacities that are constant with temperature then the equilibrium constant K obeys

for some constants a, b, and c. When c (equal to ΔCp/R) is not zero we can find the value or values of T where K equals a given value as follows, where we use L for ln T.

If a and c have the same sign there will be either two solutions or none (or one if the argument of W is exactly 1/e). (The upper solution may not be relevant.) If they have opposite signs, there will be one solution.

AdS/CFT correspondence[edit]

The classical finite-size corrections to the dispersion relations of giant magnons, single spikes and GKP strings can be expressed in terms of the Lambert W function.[25][26]


In the t → ∞ limit of the SIR model, the proportion of susceptible and recovered individuals has a solution in terms of the Lambert W function.[27]

Determination of the time of flight of a projectile[edit]

The total time of the journey of a projectile which experiences air resistance proportional to its velocity can be determined in exact form by using the Lambert W function.


The standard Lambert W function expresses exact solutions to transcendental algebraic equations (in x) of the form:






where a0, c and r are real constants. The solution is

Generalizations of the Lambert W function[28][29][30] include:






where r1 and r2 are real distinct constants, the roots of the quadratic polynomial. Here, the solution is a function has a single argument x but the terms like ri and a0 are parameters of that function. In this respect, the generalization resembles the hypergeometric function and the Meijer G function but it belongs to a different class of functions. When r1 = r2, both sides of (2) can be factored and reduced to (1) and thus the solution reduces to that of the standard W function. Equation (2) expresses the equation governing the dilaton field, from which is derived the metric of the R = T or lineal two-body gravity problem in 1 + 1 dimensions (one spatial dimension and one time dimension) for the case of unequal rest masses, as well as the eigenenergies of the quantum-mechanical double-well Dirac delta function model for unequal charges in one dimension.
  • Analytical solutions of the eigenenergies of a special case of the quantum mechanical three-body problem, namely the (three-dimensional) hydrogen molecule-ion.[32] Here the right-hand side of (1) is replaced by a ratio of infinite order polynomials in x:






where ri and si are distinct real constants and x is a function of the eigenenergy and the internuclear distance R. Equation (3) with its specialized cases expressed in (1) and (2) is related to a large class of delay differential equations. G. H. Hardy's notion of a "false derivative" provides exact multiple roots to special cases of (3).[33]

Applications of the Lambert W function in fundamental physical problems are not exhausted even for the standard case expressed in (1) as seen recently in the area of atomic, molecular, and optical physics.[34]


Numerical evaluation[edit]

The W function may be approximated using Newton's method, with successive approximations to w = W(z) (so z = wew) being

The W function may also be approximated using Halley's method,

given in Corless et al.[2] to compute W.


The Lambert W function is implemented as LambertW in Maple, lambertw in GP (and glambertW in PARI), lambertw in Matlab,[35] also lambertw in octave with the specfun package, as lambert_w in Maxima,[36] as ProductLog (with a silent alias LambertW) in Mathematica,[37] as lambertw in Python scipy's special function package,[38] as LambertW in Perl's ntheory module,[39] and as gsl_sf_lambert_W0, gsl_sf_lambert_Wm1 functions in the special functions section of the GNU Scientific Library (GSL). In the Boost C++ libraries, the calls are lambert_w0, lambert_wm1, lambert_w0_prime, and lambert_wm1_prime. In R, the Lambert W function is implemented as the lambertW0 and lambertWm1 functions in the lamW package.[40]

A C++ code for all the branches of the complex Lambert W function is available on the homepage of István Mező.[41]

See also[edit]


  1. ^ Chow, Timothy Y. (1999), "What is a closed-form number?", American Mathematical Monthly, 106 (5): 440–448, arXiv:math/9805045, doi:10.2307/2589148, JSTOR 2589148, MR 1699262.
  2. ^ a b c d e Corless, R. M.; Gonnet, G. H.; Hare, D. E. G.; Jeffrey, D. J.; Knuth, D. E. (1996). "On the Lambert W function" (PostScript). Advances in Computational Mathematics. 5: 329–359. doi:10.1007/BF02124750.
  3. ^ Lambert J. H., "Observationes variae in mathesin puram", Acta Helveticae physico-mathematico-anatomico-botanico-medica, Band III, 128–168, 1758.
  4. ^ Euler, L. "De serie Lambertina Plurimisque eius insignibus proprietatibus". Acta Acad. Scient. Petropol. 2, 29–51, 1783. Reprinted in Euler, L. Opera Omnia, Series Prima, Vol. 6: Commentationes Algebraicae. Leipzig, Germany: Teubner, pp. 350–369, 1921.
  5. ^ Corless, R. M.; Gonnet, G. H.; Hare, D. E. G.; Jeffrey, D. J. (1993). "Lambert's W function in Maple". The Maple Technical Newsletter. 9: 12–22. CiteSeerX
  6. ^ A. Hoorfar, M. Hassani, Inequalities on the Lambert W Function and Hyperpower Function, JIPAM, volume 9, issue 2, article 51. 2008.
  7. ^ Chatzigeorgiou, I. (2013). "Bounds on the Lambert function and their Application to the Outage Analysis of User Cooperation". IEEE Communications Letters. 17 (8): 1505–1508. arXiv:1601.04895. doi:10.1109/LCOMM.2013.070113.130972.
  8. ^ "Lambert function: Identities (formula".
  9. ^ "Lambert W-Function".
  10. ^ Finch, S. R. (2003). Mathematical constants. Cambridge University Press. p. 450.
  11. ^ István, Mező. "An integral representation for the principal branch of Lambert the W function". Retrieved 7 November 2017.
  12. ^ Dubinov, A. E.; Dubinova, I. D.; Saǐkov, S. K. (2006). The Lambert W Function and Its Applications to Mathematical Problems of Physics (in Russian). RFNC-VNIIEF. p. 53.
  13. ^ Robert M., Corless; David J., Jeffrey; Donald E., Knuth (1997). A sequence of series for the Lambert W function. Proceedings of the 1997 International Symposium on Symbolic and Algebraic Computation. pp. 197–204. doi:10.1145/258726.258783. ISBN 978-0897918756.
  14. ^ "The Lambert W Function". Ontario Research Centre for Computer Algebra.
  15. ^ More, A. A. (2006). "Analytical solutions for the Colebrook and White equation and for pressure drop in ideal gas flow in pipes". Chemical Engineering Science. 61 (16): 5515–5519. doi:10.1016/j.ces.2006.04.003.
  16. ^ Sotero, Roberto C.; Iturria-Medina, Yasser (2011). "From Blood oxygenation level dependent (BOLD) signals to brain temperature maps". Bull Math Biol (Submitted manuscript). 73 (11): 2731–47. doi:10.1007/s11538-011-9645-5. PMID 21409512.
  17. ^ Braun, Artur; Wokaun, Alexander; Hermanns, Heinz-Guenter (2003). "Analytical Solution to a Growth Problem with Two Moving Boundaries". Appl Math Model. 27 (1): 47–52. doi:10.1016/S0307-904X(02)00085-9.
  18. ^ Braun, Artur; Baertsch, Martin; Schnyder, Bernhard; Koetz, Ruediger (2000). "A Model for the film growth in samples with two moving boundaries – An Application and Extension of the Unreacted-Core Model". Chem Eng Sci. 55 (22): 5273–5282. doi:10.1016/S0009-2509(00)00143-3.
  19. ^ Braun, Artur; Briggs, Keith M.; Boeni, Peter (2003). "Analytical solution to Matthews' and Blakeslee's critical dislocation formation thickness of epitaxially grown thin films". J Cryst Growth. 241 (1–2): 231–234. Bibcode:2002JCrGr.241..231B. doi:10.1016/S0022-0248(02)00941-7.
  20. ^ Colla, Pietro (2014). "A New Analytical Method for the Motion of a Two-Phase Interface in a Tilted Porous Medium". PROCEEDINGS,Thirty-Eighth Workshop on Geothermal Reservoir Engineering,Stanford University. SGP-TR-202.([1])
  21. ^ D. J. Jeffrey and J. E. Jankowski, "Branch differences and Lambert W"
  22. ^ F. Nielsen, "Jeffreys Centroids: A Closed-Form Expression for Positive Histograms and a Guaranteed Tight Approximation for Frequency Histograms"
  23. ^ A.M. Ishkhanyan, "The Lambert W barrier – an exactly solvable confluent hypergeometric potential".
  24. ^ de la Madrid, R. (2017). "Numerical calculation of the decay widths, the decay constants, and the decay energy spectra of the resonances of the delta-shell potential". Nucl. Phys. A. 962: 24–45. arXiv:1704.00047. Bibcode:2017NuPhA.962...24D. doi:10.1016/j.nuclphysa.2017.03.006.
  25. ^ Floratos, Emmanuel; Georgiou, George; Linardopoulos, Georgios (2014). "Large-Spin Expansions of GKP Strings". JHEP. 2014 (3): 0180. arXiv:1311.5800. Bibcode:2014JHEP...03..018F. doi:10.1007/JHEP03(2014)018.
  26. ^ Floratos, Emmanuel; Linardopoulos, Georgios (2015). "Large-Spin and Large-Winding Expansions of Giant Magnons and Single Spikes". Nucl. Phys. B. 897: 229–275. arXiv:1406.0796. Bibcode:2015NuPhB.897..229F. doi:10.1016/j.nuclphysb.2015.05.021.
  27. ^ Wolfram Research, Inc. "Mathematica, Version 12.1". Champaign IL, 2020.
  28. ^ Scott, T. C.; Mann, R. B.; Martinez Ii, Roberto E. (2006). "General Relativity and Quantum Mechanics: Towards a Generalization of the Lambert W Function". AAECC (Applicable Algebra in Engineering, Communication and Computing). 17 (1): 41–47. arXiv:math-ph/0607011. doi:10.1007/s00200-006-0196-1.
  29. ^ Scott, T. C.; Fee, G.; Grotendorst, J. (2013). "Asymptotic series of Generalized Lambert W Function". SIGSAM (ACM Special Interest Group in Symbolic and Algebraic Manipulation). 47 (185): 75–83. doi:10.1145/2576802.2576804.
  30. ^ Scott, T. C.; Fee, G.; Grotendorst, J.; Zhang, W.Z. (2014). "Numerics of the Generalized Lambert W Function". SIGSAM. 48 (1/2): 42–56. doi:10.1145/2644288.2644298.
  31. ^ Farrugia, P. S.; Mann, R. B.; Scott, T. C. (2007). "N-body Gravity and the Schrödinger Equation". Class. Quantum Grav. 24 (18): 4647–4659. arXiv:gr-qc/0611144. Bibcode:2007CQGra..24.4647F. doi:10.1088/0264-9381/24/18/006.
  32. ^ Scott, T. C.; Aubert-Frécon, M.; Grotendorst, J. (2006). "New Approach for the Electronic Energies of the Hydrogen Molecular Ion". Chem. Phys. 324 (2–3): 323–338. arXiv:physics/0607081. Bibcode:2006CP....324..323S. CiteSeerX doi:10.1016/j.chemphys.2005.10.031.
  33. ^ Maignan, Aude; Scott, T. C. (2016). "Fleshing out the Generalized Lambert W Function". SIGSAM. 50 (2): 45–60. doi:10.1145/2992274.2992275.
  34. ^ Scott, T. C.; Lüchow, A.; Bressanini, D.; Morgan, J. D. III (2007). "The Nodal Surfaces of Helium Atom Eigenfunctions" (PDF). Phys. Rev. A. 75 (6): 060101. Bibcode:2007PhRvA..75f0101S. doi:10.1103/PhysRevA.75.060101.
  35. ^ lambertw – MATLAB
  36. ^ Maxima, a Computer Algebra System
  37. ^ ProductLog at WolframAlpha
  38. ^ "Scipy.special.lambertw — SciPy v0.16.1 Reference Guide".
  39. ^ ntheory at MetaCPAN
  40. ^ Adler, Avraham (2017-04-24), lamW: Lambert W Function, retrieved 2017-12-19
  41. ^ The webpage of István Mező


External links[edit]