Description Usage Arguments Details Value Author(s) References See Also Examples

The Lambert-W function is defined as the multivalued inverse of the function
*z = f(W) = W * exp(W)*. The function has two branches. The
principal branch is defined on the interval
*[-1/e, Infinity)* and is always greater than or
equal to-1. The second branch is defined on the interval
*[-1/e, 0)* and is always less than or equal to-1. The
real-valued function is not defined for values less than
*-1/e*.

1 2 | ```
lambertW0(x)
lambertWm1(x)
``` |

`x` |
vector of values |

The Lambert-W function is defined for all real
*x >= -1/e*. It has two values in the interval
*(-1/e, 0)*. The values strictly greater than -1 are
assigned to the “principal” branch, also referred to as *W0*,
and the values strictly less than -1 are assigned to the “secondary”
branch, referred to as *Wm1*. For non-negative *x*, only the
principal branch exists as the other real-valued branch approaches negative
infinity as *x* approaches 0. The algorithms used to calculate the values
predominantly follow those in the reference with some simplifications. There are
many applications in which the Lambert-W function is useful, such as
combinatorics, physics, and hydrology. The interested reader is directed to the
references for more detail.

Both functions return the appropriate values in the intervals for which they are
defined. Outside of those intervals, they will return `NaN`

, except that
`lambertW0(Inf)`

will return its limit `Inf`

and `lambertWm1(0)`

will return its limit -`Inf`

.

Avraham Adler Avraham.Adler@gmail.com

Corless, R. M., Gonnet, G. H., Hare, D. E., Jeffrey, D. J., Knuth, D. E.
1996 "On the Lambert W function", *Advances in Computational Mathematics*,
**5**, 329–359, Springer <doi:10.1007/BF02124750>

Fritsch, F. N.; Shafer, R. E. & Crowley, W. P.
1973 "Solution of the transcendental equation (we^w = x)",
*Communications of the ACM*, **16**, 123–124,
Association for Computing Machinery (ACM) <doi:10.1145/361952.361970>

This package provides similar functionality to the
`Lambert`

functions in the gsl package without
having to obtain or install the entire GSL.

1 2 3 4 5 6 | ```
lambertW0(exp(1)) ## Should equal 1, as 1 * exp(1) = e.
lambertW0(0) ## Should equal 0, as 0 * exp(0) = 0.
lambertW0(-exp(-1)) ## Should equal -1.
lambertWm1(-exp(-1)) ## Should also equal -1.
A <- -2 * exp(-2)
lambertWm1(A) ## Should equal -2
``` |

```
[1] 1
[1] 0
[1] -1
[1] -1
[1] -2
```

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.