toms443


toms443, a FORTRAN90 code which evaluates Lambert's W function. This is a version of ACM TOMS algorithm 443, by Fritsch, Shafer and Crowley.

Lambert's W function W(X) satisfies the equation

        W(x) * exp ( W(x) ) = x
      

The text of many ACM TOMS algorithms is available online through ACM: https://calgo.acm.org/ or NETLIB: https://www.netlib.org/toms/index.html.

Usage:

w = wew ( x, en )
where X, is the argument, EN is the last correction to the output value made by the Newton iteration, and the value of W(X)) is returned in WEW.

Licensing:

The computer code and data files made available on this web page are distributed under the MIT license

Languages:

toms443 is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version.

Related Data and Programs:

TEST_VALUES, a FORTRAN90 code which contains routines which return sample values of various functions, including the modified beta function, and the logarithm of the gamma function.

toms443_test

TOMS743, a FORTRAN90 code which evaluates Lambert's W function. This is a version of ACM TOMS algorithm 743, by Barry, Barry and Culligan-Hensley.

Reference:

  1. Fred Fritsch, RE Shafer, WP Crowley,
    Algorithm 443: Solution of the Transcendental Equation W*exp(W)=X,
    Communications of the ACM,
    Volume 16, Number 1, February 1973, pages 123-124.
  2. Andrew Barry, S. J. Barry, Patricia Culligan-Hensley,
    Algorithm 743: WAPR - A Fortran routine for calculating real values of the W-function,
    ACM Transactions on Mathematical Software,
    Volume 21, Number 2, June 1995, pages 172-181.

Source Code:


Last revised on 13 March 2021.