Learn R Programming

VGAM (version 1.1-9)

lambertW: The Lambert W Function

Description

Computes the Lambert W function for real values.

Usage

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

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\).

Arguments

x

A vector of reals.

tolerance

Accuracy desired.

maxit

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

Author

T. W. Yee

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
 if (FALSE) {
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 DataLab