Nth Branch of Lambert W function

531 Views Asked by At

I have a program to calculate the primary branch of the Lambert W function, how do I calculate the other branches (based off of the first one if possible)?

Example:

$$W(\ln(2)) = 0.44443609101$$

But (using 1st branch)

$$W_1(\ln(2)) = -1.91415552885386478373 + 4.2929649070568775i$$

How can I calculate $W_1(\ln(2))$ based off $W(\ln(2)?)$

And The real question: How can I calculate $W_n(x)$ based off $Wx$), Where $W_n(x)$ is the nth branch of $W(x)$

1

There are 1 best solutions below

0
On BEST ANSWER

See https://en.wikipedia.org/wiki/Lambertw and get the first reference: Corless et. al. "On the Lambert W function" http://www.apmaths.uwo.ca/~djeffrey/Offprints/W-adv-cm.pdf. In this basic paper the branch $W_k(z)$ is computed in formula 4.20, but I guess in practice the function is calculated with iterations.

You find C++ code for computing all branches at the link given in note [32], it is a bit suboptimal but seems OK (I successfully tested a Pascal port with Maple).