Is it possible to express $W_{-1}(z)$ exactly by a closed-form expression, allowing the principal branch function $W_0$ ?
Update:
I found this related post: https://mathoverflow.net/a/196321.
Is it possible to express $W_{-1}(z)$ exactly by a closed-form expression, allowing the principal branch function $W_0$ ?
Update:
I found this related post: https://mathoverflow.net/a/196321.
$\DeclareMathOperator{\W}{W}$ $\DeclareMathOperator{\Arg}{Arg}$
Small Edit: I took it for granted that the theory behind the continuation was assumed and understood, but it came to me just now (trying to understand user1952009's comment as well as his worries (in another thread about branch points etc.)) that maybe I should restructure this section, because it indeed looked like bad course, if it needed such a restructuring. Sorry about that. My intention in avoiding all the theoretical stuff, was precisely to avoid having the reader think that I was pushing for some sort of "novelty" solution. Unfortunately with my rep. this didn't work (see Alvarez'comment, for example). All this is really nothing more than a trivial application of analytic continuation to any analytic function, if it is adjusted properly. In any case, hopefully it's not damaged beyond repair, so if anybody has additional suggestions for further editing, removal or addition of sections before it is downvoted to hell more, fire away. If it is ever rectified to an acceptable answer, I will remove this edit.
Let's see two ways of relating the two branches. $\W_0(z)$ will be denoted as $\W(z)$ for simplicity.
The first is somewhat naive and would give a closed form expression, unfortunately the relationship has the wrong orientation between domain and range so the expected closed form reduces to a trivial identity. The second method is using the concept of germs in the map's analytic continuation.
I am using the second method to derive a relation between $\W_0$ and $\W_1$ ( instead of between $\W_0$ and $\W_{-1}$) to make it a little more interesting, urging the interested reader to try the implementation him/herself. The modification of the code to reach point $\W_{-1}(1+i)$ instead is fairly trivial.
1) Through the real relation between $\W_{-1}(x)$ and $\W_0(x)$
If we graph the two branches in their corresponding domains, which are $[-1/e,0)$ for $\W_{-1}(x)$ and $[-1/e,+\infty)$ for $\W(x)$, we get using the following
with(plots);
W := LambertW;
f := proc (z) options operator, arrow; z*exp(z) end proc;#inverse of W
xbp:= -exp(-1);
dx:= .2;
L := [[xbp, W(xbp)]];
M := [[xbp+dx, W(xbp+dx)], [xbp+dx, W(-1, xbp+dx)]];
p1 := plot(W(x), x = xbp .. 3, scaling = constrained, color = red);
p2 := plot(W(-1, x), x = xbp .. -.1, scaling = constrained, color = blue);
p3 := plot(L, style = point, symbol = circle, symbolsize = 20);
p4 := plot(M, style = line, color = black);
p5 := plot(M, style = point, symbol = solidcircle, symbolsize = 20);
display(p1, p2, p3, p4, p5);
Continuation of branch $\W(x)$ downto $\W_{-1}(x)$ for real $x$, with branch point at $x_{bp}=-1/e$.
The relation between the two real branches is shown with the vertical black line. Unfortunately the relation is the result of multivaluedness, so to pick it up we have to invert the function. After the following code:
M := [[W(xbp+dx), xbp+dx], [W(-1, xbp+dx), xbp+dx]];
pi1 := plot(f(x), x = -3.5 .. 1, scaling = constrained);
pi2 := plot(M, style = line, color = black);
pi3 := plot(M, style = point, symbol = solidcircle, symbolsize = 20);
display(pi1, pi2, pi3);
Relation between branches $\W(x)$ and $\W_{-1}(x)$ for real $x$, displayed on the inverse of $\W$, $x\cdot e^x$.
x0 := evalf(W(xbp+dx));
x1 := evalf(W(-1, xbp+dx));
evalf(f(x0));
evalf(f(x1));
And from the graph it is now obvious that,
if $x_{bp}=-1/e$ and $f(x)=x\cdot e^x$, then:
if $x_0=\W(x_{bp}+dx)$ and $x_1=\W_{-1}(x_{bp}+dx)$, then:
$$f(x_0)=f(x_1)$$
The above however resolves trivially, since by the very definition of $\W$, $\W_k(z)\cdot e^{W_k(z)}=z$, $\forall k\in\mathbb{Z}$, so:
$$\begin{align} f(x_0)&=f(x_1)\Leftrightarrow\\ f(\W(x_{bp}+dx))&=f(\W_{-1}(x_{bp}+dx))\Leftrightarrow\\ \W(x_{bp}+dx)\cdot e^{\W(x_{bp}+dx)}&=\W_{-1}(x_{bp}+dx)\cdot e^{\W_{-1}(x_{bp}+dx)}\Leftrightarrow(*2)\\ x_{bp}+dx&=x_{bp}+dx\Leftrightarrow\\ 0&=0 \end{align}$$
In this case therefore, because the resolvent is an identity, we cannot extract a functional relation between the two branches.
Note (after your update):
Except the trivial relation $\W_0\cdot e^{\W_0}=\W_{-1}\cdot e^{\W_{-1}}$, which has been given in (*2) and is mentioned in Eremenko's answer in your link. The ones in mugnaini's answer are more interesting and follow from the first graph (black line 2-valuedness, $\W_0(x)$ and $\W_{-1}(x)$), by adjusting the two domains and marking the difference between $\W_0$ and $\W_{-1}$ as $x$, using a suitable transcedental function which measures the difference. I hope I am not missing something else.
We can do a little better through germs.
2) Some theory behind analytic continuation
The idea is that we can approximate the value of an analytic map at $z_n$, using a sequence of germs $z_k$, $k\in\{1,2,\ldots,n\}$, which has ta least one point close to $z_n$ and around which we expand into a series, by using the values of the series at a previous point.
This will work only if the resulting circles around the germs $z_n$ form a connected domain and this means of course having $z_{k+1}\in\{z\in\mathbb{C}\colon|z-z_k|\lt R_k\}$, $\forall k\in\mathbb{N}$.
The important consideration then is to be able to determine a region which can serve as the connected domain within which we can plant the germs. So suppose we are given $z\in\mathbb{C}$, with $|z|\ge R$.
We don't know anything about the function's other possible bad points (branch points or singularities, we already know about a possible first one, at $R$ by definition), so suppose the next closest bad point is at $z_{bp}$, with $|z_{bp}|\ge R$, so it holds: $R\le|z|\le|z_{bp}|$.
Then we can take the sequence of $m$ germs to be:
$$z_k=|z|\cdot e^{\left(\Arg(z)+\frac{2k\pi}{m}\right)i}\text{, }k\in\{0,1,2,\cdots, m-1\}$$
provided $|z_{k+1}-z_k|<R$ for all $k\in\{0,1,2,\cdots,m-1\}$, by considering series expansions around each $z_k$, with radius:
$$R_k=\min\{R,||z|-R|,||z_{bp}|-|z||\}$$
Note that if $||z|-R|=0$ or $||z_{bp}|-|z||=0$, this is no good, because some germs will come dangerously close to a bad point (first ($R$) or secondary ($z_{bp}$)) and we cannot expand close to such, so if we are given $|z|$ with $|z_{bp}|=|z|$, then such a germination is safe only as long as we are at least $R$ away from $z_{bp}$. In such a case we have to consider taking a suitable detour first which avoids $z_{bp}$. In other words, wind around with a different suitable $R$.
Otherwise we can safely germinate into the annulus of a full turn. If it happens that $R_k$ turns out to be very small, then we can always squeeze in a suitable sequence of germs, by increasing $m$ suffiently enough while maintaining $|z_{k+1}-z_k|\lt R$.
Excluding the two bad cases above, we can therefore find a suitable connected domain where to plant a sequence of germs. That domain will be precisely:
$$D_f=\bigcup\limits_{k=0}^{m-1} B(z_k,R_k)\text{, }k\in\{0,1,2,\ldots,m-1\}$$
If a bad case happens ($|z|=|R|$ or $|z|=|z_{bp}|$), the domain has to be adjusted to be the union of a different annular region and a suitable detour $D_f^{(2)}$ (such a detour is covered in section 4)):
$$D_f^*=D_f\bigcup D_f^{(2)}$$
After that, the workhorse will be Taylor's Theorem for analytic functions. Because we use it iteratively, we first need some sensible notation. If $f^{(n)}$ denotes the $n$-th derivative of $f$, with the convention $f^{(0)}=f$, then let's notate the series for $f$ expanded around the point $z=z_k$ as:
$$f_k(z)=\sum\limits_{n=0}^\infty \frac{f^{(n)}(z_k)}{n!}\cdot (z-z_k)^n,\text{ with:}|z-z_k|\lt R_k\text{ ($R_k>0$) (1)}$$
Now, we just need to describe the form it takes when we move the center $z_k$ to another point $z_{k+1}$, with $|z_{k+1}-z_k|\lt R_k$.
A new series round $z_{k+1}$ will be:
$$f_{k+1}(z)=\sum\limits_{n=0}^\infty \frac{f^{(n)}(z_{k+1})}{n!}\cdot (z-z_{k+1})^n,\text{ with:}|z-z_{k+1}|\lt R_{k+1}\text{ ($R_{k+1}>0$) (2)}$$
Now:
$$ \begin{align} f_{k+1}(z)&=\sum\limits_{n=0}^\infty \frac{f^{(n)}(z_{k+1})}{n!}\cdot (z-z_{k+1})^n\\ &=\frac{f^{(0)}(z_{k+1})}{0!}+\frac{f^{(1)}(z_{k+1})}{1!}\cdot (z-z_{k+1})+\frac{f^{(2)}(z_{k+1})}{2!}\cdot (z-z_{k+1})^2+\cdots\\ &=f(z_{k+1})+\frac{f^{(1)}(z_{k+1})}{1!}\cdot (z-z_{k+1})+\frac{f^{(2)}(z_{k+1})}{2!}\cdot (z-z_{k+1})^2+\cdots\\ &=f_k(z_{k+1})+\sum\limits_{n=1}^\infty \frac{f^{(n)}(z_{k+1})}{n!}\cdot (z-z_{k+1})^n\\\\ \end{align} $$
and we are essentially done, because $f_k(z_{k+1})$ can been gotten from the inductive step. So this is precisely the recursive step we need to apply the iteration to a full sequence of germs $z_k$, $k\in\mathbb{N}$ that reach all the way to the last point of our sequence of germs, using only values from $f$'s original region of analyticity.
Connection between branches
Taking into consideration the same assumptions for a germ sequence $z_k$, $k\in\{0,1,2,\ldots, m-1\}$ for a total of $m$ germs per winding, unwinding the above recursion and calling $\gamma=j-l\gt 0$, the winding number between branches $f(l,z)$ and $f(j,z)$ with $j>l\ge 0$, will yield:
$$f(j,z)=f(l,z)+\sum\limits_{k=1}^{\gamma\cdot m}\left(\sum\limits_{n=1}^\infty \frac{f^{(n)}(z_k)}{n!}\cdot (z-z_k)^n\right)\text{ (3)}$$
3) $\W$ is analytic
Suppose now that $z\in\mathbb{C}$, with $|z|>1/e$. $\W$ has only two branch points at $-1/e$ and $0$ and a singularity at $0$ (only non-principal branches). Find $m\in\mathbb{N}$ with suitable assumptions from the section above, such that:
$$z_k=|z|\cdot e^{\left(\Arg(z)+\frac{2k\pi}{m}\right)i}\text{, }k\in\{0,1,\ldots,m-1\}$$
in the extended annulus $1/e\lt|z|<+\infty$, with $|z_{k+1}-z_k|\lt R_k$, where:
$$R_k=\min\{1/e,||z|-R|\}$$
Expanding into appropriate series and unwinding the recursion will give:
$$\bbox[5px,border:2px solid black]{ \W_j(z)=\W_l(z)+\sum\limits_{k=1}^{\gamma\cdot m}\left(\sum\limits_{n=1}^\infty \frac{\W^{(n)}(z_k)}{n!}\cdot (z-z_k)^n\right),\text{ }j>l\ge 0\text{ (4)}}$$
After that an expression between positive and negative branches can now be gotten through the conjugation:
$$\overline{\W_k(z)}=\W_{-k}(\overline{z}),\text{ }k\in\mathbb{Z}\text{ (5)}$$
which can be found in standard references for $\W$ (refs in first article of my scholar google profile).
The exact expression which ties branches $-1$ and $0$ therefore, can be given using (5) for $k=1$ and (4) for $j=1$ and $l=0$, as:
$$ \begin{align} \W_{-1}(\overline{z})=\overline{W_1(z)}&=\overline{\left[\W_0(z)+\sum\limits_{k=1}^{ m}\left(\sum\limits_{n=1}^\infty \frac{\W^{(n)}(z_k)}{n!}\cdot (z-z_k)^n\right)\right ]}\text{ (4) with $j=1,l=0$ }(\dagger)\\ \end{align} $$
While the relation gotten this way is a perfectly valid analytic expression algebraically (with "analytic" qualified as "closed form expression"), it's not an analytic function perse, since the composition with (5) involves the map $\overline{z}$, which is not analytic.
The relation between any two positive branches or any positive and the principle branch however as given through (4) for $j>l\ge 0$, clearly is.
4) Numerical approximation
Suppose we need to relate the value of $\W_{-1}(1-i)$ to that of the principal branch, $\W(1-i)$. Through the reflection expression (5) we have:
$$\W_{-1}(1-i)= \overline{\W_1(\overline{1-i})}=\overline{\W_1(1+i)}$$
It suffices now to calculate an approximation for $\W_1(1+i)$, for which we need first the value of $\W_0(1+i)$.
41) Approximation of $\W_0(1+i)$
The series for the principal branch has a very small radius of convergence, $r=1/e$ and $z=1+i$ is not inside the disk centered at 0 with this radius of convergence. The trick is to consider intersecting disks $D_k=\{z\colon|z-z_k|\lt 1/e\}$, which form a connected domain and reach from 0 all the way to $1+i$. Here's a picture:
Going from $0$ to $1+i$, through germs.
The strategy now is simple: We have a series at $0$. Use this to calculate $\W(z_1)$, where $z_1$ is a point inside the disk, along the line that connects $0$ with $1+i$.
If we now are given a formula for the derivative of $\W(z)$, we can form a series centered at $z_1$ using Taylor's Theorem. Using the last series, we can calculate $\W(z_2)$, where $z_2$ is a point inside the new disk, along the line that connects $z_1$ with $1+i$.
We repeat the above procedure each time (for each step) using the Taylor's series:
$$f_k(z)=\sum\limits_{n=0}^\infty \frac{\W^{(n)}(z_k)}{n!}\cdot (z-z_k)^n$$
until we reach close to $1+i$. When we are close enough, we can use the last series to calculate $\W(1+i)$. On the picture, the disk centers are marked as blue diamonds and $1+i$ is marked with a black cross. Using $dr\sim 0.067$, the center of the 21-st disk is pretty close to $1+i$.
In the Maple code that follows, Maple of course knows the derivative of $\W(z)$. It is $\W(z)/(1+\W(z))/z$. It is also known that $\W(0)=0$. Using then the code:
r:=exp(-1); #radius of convergence of series for W
d:=abs(1+I); #distance to 1+i
epsilon:=0.3;
dr:=r-epsilon; #inside the disk
W:=LambertW; #Maple's built in W function
steps:=ceil(d/dr); #number of circles required
for k from 0 to steps do
z[k]:=evalf((k*dr)*exp(I*Pi/4)); #find the points z[k]
od;
for k from 0 to steps do
if k=0 then
f:=add(limit(diff(W(z),z$n),z=z[k])/n!*(z-z[k])^n,n=1..6); #calculate series around 0
else
f:=Wz+add(subs(z=z[k],subs(LambertW(z)=Wz,diff(W(z),z$n)))/n!*(z-z[k])^n,n=1..6);; #calculate series around z[k]
fi;
if k < steps then
Wz:=subs(z=z[k+1],f); #keep the value of Wz we found, because we need it for the next series
fi;
od:
Checking the resulting accuracy:
subs(z=1+I,f); #estimated value
.6569660229+.3254515443*I
evalf(W(1+I)); #actual value
.6569660692+.3254503394*I
With an error of .1205789244e-5. Not bad.
42) Approximation of $\W_1(1+i)$
Now we can use the above code to approximate $\W_1(1+i)$. For this, we construct a path of disk centers $z_{22}-z_{121}$, starting at $1+i$ and rotating counterclockwise(1) until we come full circle back (or close) to $1+i$. Until we reach the branch cut ($z_{58}$), we are still on the principal branch. Subsequent points ($z_{59}-z_{121}$) lie on branch $\W_1$. See figure below:
Complete path from $z_{22}$ to $z_{121}$.
We now modify the Maple code to deal with the complete path, from 0 to $z_{121}$:
restart;
r:=exp(-1); #radius of convergence
d:=abs(1+I); #|1+i|
epsilon:=0.3;
dr:=r-epsilon; #offset from center of disk
W:=LambertW;
steps:=ceil(d/dr); #number of steps to reach 1+i
for k from 0 to steps do
z[k]:=evalf((k*dr)*exp(I*Pi/4)); #construct path z[1]-z[21]
od:
r:=abs(z[21]);
steps:=121-22;
for k from 0 to steps do
z[k+22]:=evalf(r*exp(I*((k+1)*Pi/50+Pi/4))); #construct path z[22]-z[121]
od;
steps:=121;
for k from 0 to steps do
if k=0 then
f:=add(limit(diff(W(z),z$n),z=z[k])/n!*(z-z[k])^n,n=1..6); #series at 0
else
f:=Wz+add(subs(z=z[k],subs(LambertW(z)=Wz,diff(W(z),z$n)))/n!*(z-z[k])^n,n=1..6); #series at z[k]
fi;
if k < steps then Wz:=subs(z=z[k+1],f); #approximate value of W at z[k+1]
#print k+1, value found, actual value and error
if k < 58 then #we are ready to cross the branch cut! Caution!
print(k+1,z[k+1],Wz,W(z[k+1]),abs(Wz-W(z[k+1])));
else
print(k+1,z[k+1],Wz,W(1,z[k+1]),abs(Wz-W(1,z[k+1])));
fi;
fi;
od;
After running the above code, we get:
subs(z=1+I,f);
-1.342848857+5.247252283*I
Actual value for $\W_1(1+i)$:
evalf(W(1,1+I));
-1.342848941+5.247249374*I
With an error of:
evalf(abs(W(1,1+I)-subs(z=1+I,f)));
.2910212535e-5
43) $\W_{-1}(1-i)$
Finally, we have the value $\W_1(1+i)$, therefore:
$$\W_{-1}(1-i)=\overline{\W_1(1+i)}$$
which gives for $\W_{-1}(1-i)$:
-1.342848941-5.247249374*I
Check with built in $\W$:
evalf(W(-1, 1-I));
-1.342848941-5.247249374*I
5) Errors in 4)
(1) Each time one uses the Taylor's series as above the error is given by the remainder form $R_n(z)$, so in the above case the total error should not exceed $s\cdot R_n$, where $s$ the number of germs (in the case above $s=121$, so something like $121\cdot R_7(z)$).
(2) One may remark that this germ strategy could be improved by first going around a small circle and then shooting off to the wanted point. This way, we could lose the accumulated error from going around the circle. Unfortunately this won't work, because if we rotate inside the radius of convergence, we can't switch branches, which requires crossing a branch cut. Therefore we have to rotate with a radius greater than $1/e$. But if we do that, the total error will again accumulate per each step of the circle, since we are outside the region of convergence.
Notes:
It should be fairly obvious that if we wanted to approximate $\W_{-1}(1+i)$, i.e., we should work in a similar way but instead we should be going clockwise, landing again near $1+i$.
Hence, by rotating once counterclockwise to $1+i$, we reach branch $\W_1$ and in general by rotating $k$ times counterclockwise to $1+i$, we reach $\W_k(1+i)$. By rotating once clockwise to $1+i$, we reach $\W_{-1}(1+i)$ and in general by rotating $k$ times clockwise to $1+i$, we reach branch $\W_{-k}(1+i)$. $k$ is of course the winding number of $\W$.
By generalizing the code with such a clockwise/counterclockwise strategy, we can compute any value $\W_k(z)$, for any $k\in\mathbb{Z}$ and any $z\in\mathbb{C}$, using only values of $\W$ from its region of analyticity around $0$.