(The presentation that follows is a light introduction. For more austere results, consult Paper 1).
The finite real HyperPower function has been studied extensively and interested readers are advised to consult references [16], [30], [33], [34], and particularly [40] and [41].
Using our previous notation, it is defined as follows:
f(x,n) = {x, iff n=1, xf(x,n-1) iff n>1}. = xxx...x (n-x's).
I will pass through the following facts quickly, since most of these are addressed in the references:
limx->0+f(x,2k) = 1, and
limx->0+f(x,2k+1) = 0, k in N.
The (infinite) real HyperPower function is defined as:
F(x) = limn->+∞f(x,n) = xxx...
The references establish that F(x) converges
for x in [(1/e)e,e(1/e)].
My first article on infinite exponentials
establishes that whenever it converges, the limit is
-W(-log(x))/log(x),
where W is used to denote the principal branch of Lambert's W
function.
On the interval (0, (1/e)e), f(x,n), n in N, is a two-cycle, therefore it appears as though F(x) cannot be single-valued.
We now extend F for complex z, as follows:
h(z) = -W(-Log(z))/Log(z), where Log denotes the principal branch of the complex log function.
Using W's definition, the above definition can be written as:
h(z) = e-W(-Log(z)). (1)
The definition is unambiguous, provided we are working with the
principal
branch of log,
Log(z) and with the principal branch of Lambert's W, since then all
involved
functions are single-valued and F(z) is then well-defined.
Let's examine h(z) a little closer:
The graph of h is shown below: The last view is rotated so it can show the function's behavior for real z. The top peak point is h(e(1/e))=e. The second branch point of F. One branch cut starts at this point.
h has two branch points and two branch cuts. The first branch point is at 0, and the first branch cut is the negative real axis (because of the log) and there is a second branch point at e(1/e), with a branch cut the subset of the positive real axis from e(1/e) to infinity.
To find the second branch point, we notice that since W has a branch point at -1/e, => -W has a branch point at 1/e. Solving -W(log(z))=1/e, we get e{(1/e)/e(1/e)} and plugging this into h(z) we get e(1/e).
The function is certainly real valued for real values of z in the
interval
[(1/e)e,e(1/e)], since we have established that
on
that interval limn->+∞f(x,n) exists finitely.
>plot(exp(-W(-log(x))),x=0..exp(exp(-1)));
Lemma #1:
limx->0+h(x) = 0, for x->0+ along the
positive
real axis:
Proof:
limx->0+h(x) =
limx->0+e-W(-log(x)) =
limx->0+1/eW(-log(x)).
Now:
limx->0+log(x) = -∞,
the principal branch of the W(z) is real valued for x in [-1/e, +∞),
limx->+∞W(x) = +∞,
and the lemma follows.
Lemma #3:
h(z) is real valued for z in [0, e(1/e)], and for such z
ONLY.
Proof:
Left to the reader as an exercise.
To actually plot the two separate limits of the even and odd subsequences of f(x,n), we modify the code which was introduced in the article on Solving the Second Real Auxiliary Equation.
> Odd:=proc(c)
> local fc;
> fc:=evalf(c);
>
fsolve(fc^x=log(x)/log(fc),x,x=0.01..evalf(exp(-W(-log(c))))-0.0001);
> end:
> Even:=proc(c)
> local fc;
> fc:=evalf(c);
>
fsolve(fc^x=log(x)/log(fc),x,x=evalf(exp(-W(-log(c))))+0.00001..infinity);
> end:
> p4:=plot('Odd(x)',x=0.001..evalf(exp(-exp(1)))):
> p5:=plot('Even(x)',x=0.001..evalf(exp(-exp(1)))):
The following is the behavior of f(x,n) for n in {1, 2, ..., 30}, the graph of the function defined in (1), the bifurcation point {e-e, e-1} (shown as a circle) and the two bifurcation branches stemming from that point and giving the limits of the even and odd subsequences, which go to 0 and 1 respectively.
> display(p1,p2,p3,p4,p5);
The actual Hopf bifurcation can be seen without the graphs of
f(x,n):
>display(p2,p3,p4,p5);
The two branches stemming from the bifurcation point, were
investigated
by Euler, who showed that they can be parametrized as:
a(a/[1-a]) and a(1/[1-a]), for appropriate
positive
a.
Although the two subsequences f(x,2k) and f(x, 2k+1), k in N, left of the bifurcation point converge to different limits, h(x) continues all the way down to 0, (which was shown to be the limit in lemma #1), because the point e-W(-log(x)) is STILL a fixed point of the hyperpower function F(x). (although unstable as the following lemma shows).
To see that, note that even for c in (0,e-e), x0
= e-W(-log(c)) is a fixed point of the iterative process:
x->cx.
Therefore iterating the function g(x) = cx, EXACTLY at x0,
will give:
g(x0) = c[-W(-log(c))/log(c)] = e[-log(c)*W(-log(c))/log(c)]
= e-W(-log(c)) = x0, => g(n)(x0)
= x0, for all n, and consequently limn->+∞g(n)(x0)
= x0.
On the other hand:
g'(x0) =
log(c)*g(x0) =
log(c)*x0 =
-log(c)*W(-log(c))/log(c) =
-W(-log(c)) < -1, =>
|g'(x0)| > 1,
and the lemma follows.
At this point it may be instructive to validate all this by checking
the article on Solving the Second
Real Auxiliary Equation, which shows all three roots to be as
expected:
One root is a 1-cycle (x0, above) and the other two roots
are
the 2-cycle.
> f_N:=proc(z,w,n)
> option remember;
> if n=0 or n=1 then z^w;
> else z^f_N(z,w,n-1);
> fi;
> end:
> w := 0.01;
> for n from 1 to 10 do
> f_N(w,F(w),n);
> od;
Which will indeed verify that the iteration stays constant.
On the other hand, if we perturb x0 a bit, let's see what
happens:
> w:=0.01;
> UR1:=[evalf(seq([[w,f_N(w,F(w)+0.05,n)]], n=1..40 ))]:
> p1:=plot(UR1,0..0.1,0..1,style=point,color=red):
> w:= 0.0314635;
> UR2:=[evalf(seq([[w,f_N(w,F(w)+0.2541,n)]], n=1..40 ))]:
> p2:=plot(UR2,0..0.1,0..1,style=point,color=red):
> w:=0.048371;
> UR3:=[evalf(seq([[w,f_N(w,F(w)+0.123,n)]], n=1..40 ))]:
> p3:=plot(UR3,0..0.1,0..1,style=point,color=red):
> w:=exp(-exp(1))-0.001;
> UR4:=[evalf(seq([[w,f_N(w,F(w)+0.14231,n)]], n=1..40 ))]:
> p4:=plot(UR4,0..0.1,0..1,style=point,color=red):
> display(p1,p2,p3,p4);
The accumulation points, which correspond to the separate
bifurcation
branches, are clearly visible.
We now turn on the issue of analyticity of the complex function h(z). The principal branch of log(z), Log(z), is analytic everywhere except on the negative real axis, including 0, where Log(z) is not even defined. The principal branch of W, on the other hand, is analytic at 0, with radius of convergence R = 1/e. (Check W's expansion).
We expect therefore the resultant composition h(z) to be analytic at least in some domain D. (which of course excludes its two branch cuts, namely: (-∞, 0] U (e(1/e), +∞)).
We know the expansion for Lambert's W function:
Setting Z=-Log(z) in the above and then dividing by -Log(z), we immediately get:
A quick application of the Ratio Test using Maple gives:
>a:=(z,n)->(n*Log(z))^(n-1)/n!;
> a(z,n+1)/a(z,n);
> simplify(",assume=positive);
(n + 1)(n - 1)*Log(z) n(-n + 1)
and:
> limit(",n=infinity);
e* Log(z),
consequently:
|e*Log(z)| < 1, iff
|Log(z)| < 1/e.
(The Region actually includes the boundary δD. When |Log(z)| = 1/e,
similar to the series for Lambert's W, we can use Stirling's
approximation:
Sqrt(2*Pi)*n(n+1/2)/en < n!, =>
1/[en*n!] < 1/ Sqrt(2*Pi)*n(n+1/2), =>
(n/e)(n-1)/n! =
e*n(n-1)/[en*n!] <
e*n(n-1)/Sqrt(2*Pi)*n(n+1/2), =
e/[n(3/2)*Sqrt(2*Pi)].
Since the series sum(1/n3/2, n=1..+∞) converges, the
above
series converges on δD as well).
>t:=(k,n)->exp(2*k*Pi*I/n);
> UR:=[evalf(seq( [Re(t(k,60)/exp(1)),Im(t(k,60)/exp(1))], k=0..69
))]:
> plot(UR,style=line);
Now let's transform those roots, under exp(z), to get to the final region D:
> f:=z->exp(z);
> URT:=[evalf(seq([Re(f(t(k,60)/exp(1))),Im(f(t(k,60)/exp(1)))],
k=0..60
))]:
> plot(URT,style=point);
Let's now check that we indeed have convergence inside D:
>h:=z->exp(-W(-log(z)));
>hs:=z->sum((n*log(z))^(n-1)/n!,n=1..100);
> evalf(hs(1.4));
1.886661852
> evalf(h(1.4));
1.886663306
> evalf(hs(1.1));
1.111782011
> evalf(h(1.1));
1.111782011
For complex z as well:
> evalf(hs(1.1+0.3*I));
.9985441412 + .3170642132 I
> evalf(h(1.1+0.3*I));
.9985441412 + .3170642131 I
> evalf(hs(0.7+0.01*I));
.7619995945 + .006502597193 I
> evalf(h(0.7+0.01*I));
.7619822445 + .006522063595 I