A Robust Approximation to a Lambert-Type Function
Provides a practical numerical solution for researchers and engineers needing to compute this function accurately in standard programming languages.
The paper presents a robust algorithm for computing a Lambert-type function that avoids arithmetic underflow/overflow, working for almost all representable x values without requiring the Lambert W function.
The function $y = g(x) = \mathrm{log}\big(W(e^x)\big)$, where $W()$ denotes the Lambert W function, is the solution to the equation $y + e^y = x$. It appears in various problem situations, for instance the calculation of current-voltage curves for solar cells. A direct calculation of $g(x)$ may be inaccurate because of arithmetic underflow or overflow. We present a simple algorithm for calculating $g(x)$ that is robust, in that it will work for almost all $x$ values which are representable in the arithmetic of one's chosen computer language. The algorithm does not assume that the chosen computer language implements the Lambert W function.