VGAM (version 1.1-6)

lambertW: The Lambert W Function

Description

Computes the Lambert W function for real values.

Usage

lambertW(x, tolerance = 1e-10, maxit = 50)

Arguments

x

A vector of reals.

tolerance

Accuracy desired.

maxit

Maximum number of iterations of third-order Halley's method.

Value

This function returns the principal branch of the \(W\) function for real \(z\). It returns \(W(z) \geq -1\), and NA for \(z < -1/e\).

Details

The Lambert \(W\) function is the root of the equation \(W(z) \exp(W(z)) = z\) for complex \(z\). If \(z\) is real and \(-1/e < z < 0\) then it has two possible real values, and currently only the upper branch (often called \(W_0\)) is computed so that a value that is \(\geq -1\) is returned.

References

Corless, R. M. and Gonnet, G. H. and Hare, D. E. G. and Jeffrey, D. J. and Knuth, D. E. (1996). On the Lambert \(W\) function. Advances in Computational Mathematics, 5(4), 329--359.

See Also

log, exp, bell. There is also a package called LambertW.

Examples

Run this code
# NOT RUN {
 
# }
# NOT RUN {
curve(lambertW, -exp(-1), 3, xlim = c(-1, 3), ylim = c(-2, 1),
      las = 1, col = "orange", n = 1001)
abline(v = -exp(-1), h = -1, lwd = 2, lty = "dotted", col = "gray")
abline(h = 0, v = 0, lty = "dashed", col = "blue") 
# }

Run the code above in your browser using DataCamp Workspace