(The presentation that follows is a very light introduction. For more austere results, consult the papers by the author.
Consider the relation[1]:
Replace now the exponent, (2) with the left side of (1). We get:
By repeating the process of this substitution of the last exponent recursively, we obtain finite sequences of n radicals:
which are valid for all n > 0.
Let us see what happens "in the limit".
Claim:
In fact, we can prove a much stronger result:
[x(1/x)][x(1/x)][x(1/x)]... ={x, if x is in [1/e,e], y, where y is in [1/e, e] and y satisfies: y(1/y)=x(1/x), if x is in (e,+∞)} (2).
The correct way to "see" this, is to grab the recurrence that describes the above substitution. Let us define:
an=[z(1/z)]an-1, with initial condition: a1=z, z in C, z=/=0, (3)
We have to be careful with what we mean by (3). To clarify the operations performed, we agree that (3) means:
an=e{Log(z)/z*an-1}, with initial condition: a1=z, z in C, z=/=0, (4)
where it is understood that we are working with the principal branch (Log(z)) of log(z), on every recursive step.
In view of (4), it is still true that limn->+∞an=z, as the sequence is again constant and always equal to z.
Since in our recursive definition of (3), z was arbitrary (but non-zero), we can define an using z=z0, for any specific z0=/=0. In particular, an is a constant sequence (and equal to z), if we pick a z that satisfies:
z(1/z)=c, c in C, c=/=0, (5),
where it is understood that what we mean by (5) is equivalent to:
e(Log(z)/z)=c,
and that we are working again with the principal part of log(z), Log(z).
Equation (5) has infinitely many solutions, given by:
-W(k,-Log(c))/Log(c), (6)
where W is Lambert's W function and k in Z, denoting the Lambert W branch, and where it is understood that we are working with the principal branch of log, Log, and W(0,z)=W(z) is the principal branch of the W function.
Here is what Lambert's W function looks like: The principal branch and the pair of branches W(-1,x) and W(1,x) share an order 2 branch point at -1/e. The branch cut dividing these branches is the subset of the real line from -∞ to -1/e, and the values of the branches of W on this branch cut are assigned using the rule of counter-clockwise continuity around the branch point. This means that W(x) is real-valued for x in the range -1/e...∞, while the image of -∞..-1/e under W(x) is the curve -y cot(y) + y*i, for y in 0..π.
We now define a new symbol, called the infinite exponential cccc..., for c in C, c=/=0, as follows:
c*=cccc...=limn->+∞an with an as in (3) and with z being the principal solution z0, of (5): z(1/z)=c. (7)
It can now be verified that the recurrence (3) with z=z0, will be a constant sequence, always equal to:
z0=-W(-Log(c))/Log(c).
Therefore, its limit will clearly be z0.
The definition is unambiguous, provided we are working with the principal branch of log, Log(z) and with the principal branch of W. For, if c1=c2, c1 and c2 in C, c1, c2=/=0, then -W(-Log(c1))/Log(c1)=-W(-Log(c2))/Log(c2) which forces c1*=c2*.
What we really have done, is to define the infinite exponential as a multiple-valued function f:C->C, with f satisfying:
f(c)=-W(k,-Log(c))/Log(c), k in Z. (8)
This definition is consistent with the "usual" algebraic infinite exponential, WHEN this exponential converges. For example, the "usual" infinite algebraic exponential 555... is meaningless (however we assign it a complex value under the new definition), as it diverges, whereas the exponentials (2) for example, converge (verify that in the case of (z0=2(1/2)), -W(-Log(2(1/2)))/Log(2(1/2))=2)
f above in (8), can be then alternatively written as: e-W(-Log(c)), based on the definition of Lambert's W function:
W(z)*eW(z)=z, for z=-Log(c). (9)
(Details about this function (which is subsequently renamed to F(x)) are presented in The Analytic Continuation of the Hyperpower Function F(x)=+∞x).
The function is real valued for real values of z in the interval (0,e(1/e)], (in fact for [0,e(1/e)], since limz->0f(z)=0), which gives a good hint for which algebraic infinite exponentials converge. In particular, an algebraic infinite exponential converges, iff its base belongs to the interval [(1/e)e,e(1/e)]=[0.06598803588,1.444667861]. (That's why the infinite exponentials (2) above with base x(1/x) converge. See Lemma below). The largest such real convergent exponential (in absolute value) will thus be the one with base e(1/e), so it follows that [e(1/e)][e(1/e)][e(1/e)]...=f(e(1/e))=e (Note that this is also the largest real base an infinite convergent exponential can have since the maximum of the function x(1/x) is attained at x=e).
The smallest such real convergent exponential will be the one with base e-e, and in particular [(1/e)e][(1/e)e][(1/e)e]...=f((1/e)e)=1/e.
To see why these are the endpoints of the convergence, we consider the function whose iterates we investigate, g(z)=cz. Then, we know that if c0 is a fixed point, then if |g'(c0)|>1 the fixed point is repellant, and if |g'(co)|<1, the fixed point is attractive. Since our fixed points are given by (6), all we need to do is solve the equation |x{-W(-log(x))/log(x)}*log(x)|=1 to find the points for which convergence is guaranteed. Solving this gives x={(1/e)e,e(1/e)}.
What happens in the interval (0,(1/e)e)?
Let's look at some preliminaries. Consider a small number d close to zero. It is immediately clear that if d is close to zero, dd will be close to 1. It is also clear that ddd will be again close to zero, as dd is close to 1. It becomes apparent thus, that there is some major alternation of the terms between two values close to 0 and 1 of the sequence ddddd.... Can we say anything about those numbers? Yes we can. Consider the two sequences of EVEN and ODD terms of dd....
The first sequence will be the sequence an of even number of terms in the exponential:
an={dd, dddd,...}
The second sequence will be the sequence of odd number of terms in the exponential:
bn={d, ddd,...}
It follows that if an converges its limit will be a solution to the equation:
lim1=ddlim1 (10)
and accordingly, if bn converges, its limit will be the solution to the equation:
lim2=dlim1 (11)
Now if the infinite exponential is to converge, those two limits must be equal, so:
lim1=lim2 (12)
This means that ddlim=dlim (13)
Solving (13) for lim we get
lim=-W(-log(d))/log(d) (14)
This shows that if the infinite exponential converges, its limit must indeed be given by (6) (or (14)). If the exponential does not converge, equations (10) and (11) give the two separate limits of the two cycle.
(Should you wish to see how the equation ccx=x is solved, consult the article: Solving the Second Auxiliary Real Exponential Equation)
Details about the actual Hopf bifurcation that occurs at (0,e-e) are presented in The Analytic Continuation of the Hyperpower Function F(x) = +∞x).
Lemma:
f(w(1/w))=w, if w is a real number in [1/e,e].
Proof:
Let z0 be the solution to the REAL equation z(1/z)=w(1/w), with z,w real in [1/e,e]. As the function y=x(1/x) is 1-1 and onto the range of [1/e,e] (see below)=>z0=w. But z0=f(w(1/w)), from which it follows that f(w(1/w))=w.
Now we look at what happens when the base is of the form x(1/x) and x ranges in (e,+∞). For this, we have to take a look at the graph of y=x(1/x). Since y attains a global max at x=e and since y is continuous in the range (1,+∞), and since y=1 is an asymptote as x->+∞, it follows that if x>e, there always exists a w in (1,e], such that w(1/w)=x(1/x). This w is precisely the limit of the infinite exponential.
An example is given below for 6.62(1/6.62) which equals 1.330444232=1.562011537(1/1.562011537). Verify then, that f(w(1/w))=f(x(1/x)), but according to the Lemma above, f(w(1/w))=w, since w is in (1,e], and the limit is clearly shown.
In particular, many infinite exponentials can be investigated this way. What is iiiii... (if anything)? The answer can be determined if we could somehow use the analysis above to describe the exponential. And we can do that. All we have to do is solve i=z(1/z), which gives z0=2*i*W(-i*π/2)/π. In particular then, f(i)= z=z0=2*i*W(-i*π/2)/π[2]. So, i* is essentially a multiply valued function and its principle value is given by:
iii...=2*i*W(-i*π/2)/π=0.4382829366+0.3605924718*i. In Maple the rest of the solutions can be gotten as 2*i*W(k,-i*π/2)/π, k=-∞..+∞, for the rest of the branches of Lambert's W function[3].
Infinite Exponential Fractals
Following the above discussion, it is natural to ask if infinite exponentiation can produce an interesting fractal. Indeed it does produce beauty, since complex numbers are involved. Upon the suggestion of John Bailey, the author set forth to investigate possible algorithms which can show the speed of convergence.
The author's original code was a short Maple excerpt, which produced the following image:
The code that produced that was:
> with (plots):
> F:=proc(x,y)
> local c,z,m,f,l,eps;
> z:=0;m:=0;eps:=1e-4;
> c:=evalf(x+y*I);
> if abs(c)<eps then
> m;
> else
> l:=log(c);
> f:=evalf(-LambertW(-l)/l);
> to 100 while abs(z-f)>eps do
> z:=evalf(exp(l*z));
> m:=m+1;
> od;
> m;
> fi;
> end:
> plot3d(F,-1..1,-1..1,grid=[100,100], shading=ZHUE,style=PATCHNOGRID,
orientation=[0,0], axes=BOX);
Note that the fixed points for the orbit of c are given by (6). The above code simply checks how close the iterate of the function f(z)=cz is to the fixed point.
The above code is very slow so it is not recommended you run it on Maple. Robert Israel optimized the above code, by avoiding the Lambert's W function and by eliminating complexes altogether. His Maple code is longer but much faster overall:
>with (plots):
> iterf:=proc(lre,lim)
> local eps,theta,R,m,zre,zim,fre,fim;
> eps:=1e-4;m:=0;
> zre:=0;zim:=0;fre:=1;fim:=0;
> to 100 while (abs(zre-fre)+abs(zim-fim)>eps) and (abs(zre)+abs(zim)<1e37)
do
> fre:= zre; fim:= zim;R:=exp(lre*zre-lim*zim);
> theta:=lre*zim+lim*zre;
> zre:=R*cos(theta);
> zim:=R*sin(theta);
> m:=m+1;
> od;
> if abs(zre)+abs(zim)<1e37 then 120-m
> else m-120 fi;
> end:
> F:=proc(x,y)
> local c,z,l,lre,lim,eps,zr,zi;
> z:=0;eps:=1e-4;
> c:=evalf(x+y*I);
> if abs(c)<eps then 0
> else
> l:=log(c);
> lre:=Re(l);lim:=Im(l);
> evalhf(iterf(lre,lim));
> fi
> end:
>
plot3d(F,-1..1,-1..1,grid=[100,100],shading=ZHUE,style=PATCHNOGRID,orientation=[0,0],axes=BOX);
The above code produced the same fractal much faster (settings are -4..4,-4..4 and grid=[300,300].) The dark pixels in all fractals below are actually unknown areas.
Finally, the author translated Robert's code to Pascal, which produced the fastest results and is a bit more accurate than the Maple code.
Note that the central bulb's real range is [(1/e)e,e(1/e)]. This section is shown in detail below[4][5].
The above process, is a Mandelbrot process. We can instead alter the process to produce Julia sets as well. i.e. fix c and iterate z taken from the grid, through the same function. The following picture, is the Julia set for c=i. The attractor is located at 0.4382829366+0.3605924718*i, the principal value of iii... = -W(-log(i))/log(i). The little white dot marks the origin.
Here is a better looking image for the above Julia set, produced with SpangFract, a fractal program for the Macintosh, by David Spangler.