(The analysis that follows is a light introduction. For more
austere results, consult Paper 2).
We begin with some standard notation:
f(x) = cx, c > 0, x in R.
f(n)(x) = {f(x), iff n = 1, f(f(n-1)(x)) iff
n > 1}.
g(x) = f(x) - x.
dg/dx = f(x)*ln(c) - 1.
h(x) = f(2)(x) - x.
dh/dx = f(2)(x)*f(x)*ln(c)2 - 1.
d2h/dx2 = f(2)(x)*(f(x))2*ln(c)4
+ f(2)(x)*f(x)*ln(c)3.
W(k, x) denotes the Lambert's W function branch corresponding to k.
It suffices to show that if c > e(1/e), m > 0.
We will show:
xcrit = ln(W(1/ln(c))/ln(c))/ln(c) < -ln(ln(c))/ln(c),
<=>
ln(W(1/ln(c))/ln(c)) < -ln(ln(c)), <=>
W(1/ln(c))/ln(c) < 1/ln(c), <=>
W(1/ln(c)) < 1,
which holds by virtue of:
c > e(1/e), <=>
ln(c) > 1/e, <=>
1/ln(c) < e, <=>
W(1/ln(c)) < W(e) = 1, so:
g(xcrit) > 0, from Lemma
11 in the previous article, and therefore:
f(xcrit) - xcrit > 0, =>
f(xcrit) > xcrit, =>
f(2)(xcrit) > f(xcrit) > xcrit,
=>
f(2)(xcrit) > xcrit, =>
f(2)(xcrit) - xcrit = m > 0, =>
and the lemma follows.
It suffices to show that if c = e(1/e), m = 0.
c = e(1/e), =>
xcrit = e,
h(xcrit) = m = 0,
N = 2/e,
and the lemma follows from lemma 1.1.
Similar to the proof of lemma 1, and note that in this case:
xcrit = ln(W(1/ln(c))/ln(c))/ln(c) > -ln(ln(c))/ln(c),
and verify that:
and limx->-ooh(x) = +oo and limx->+ooh(x) =
+oo,
the aforementioned expressions are roots, and the lemma follows from
lemma
1.1.
It suffices to show that dh/dx < 0, for all x, limx->-ooh(x)
= +oo, and limx->+ooh(x) = -oo.
e-e < c < 1, => -e < ln(c) < 0, => -ln(c)
<
e, => -ln(c)/e < 1.
dh/dx = f(2)(x)*f(x)*ln(c)2 - 1.
Now verify that the point:
ycrit = ln(-1/ln(c))/ln(c) is a critical point of the
function
dh/dx and furthermore:
d3h/dx3|y_crit = ln(c)3/e
< 0, so ycrit is a maximum of dh/dx. Furthermore:
x < ycrit, =>
x < ln(-1/ln(c))/ln(c), =>
x*ln(c) > ln(-1/ln(c)), =>
f(x) > -1/ln(c), =>
f(x)*ln(c) < -1, =>
f(2)(x) < 1/e, =>
f(2)(x)*ln(c) < ln(c)/e, =>
dh/dx = f(2)(x)*f(x)*ln(c)2 - 1 < -ln(c)/e
- 1 < 0.
Similarly,
x > ycrit, =>
dh/dx < 0.
Next verify that xr is a root.
The last two limits follow easily, and the lemma follows.
if c = e-e, verify that:
xcrit = ln(W(1/ln(c))/ln(c))/ln(c) = ln(W(-1,
1/ln(c))/ln(c))/ln(c)
= 1/e satisfies:
dh/dx|x_crit = 0,
h(xcrit) = 0.
One then verifies that dh/dx < 0, for all x in R - {1/e}, which
is similar to the proof of lemma 4, and the lemma follows.
Similarly:
x > ycrit, =>
d2h/dx2 < 0,
and the lemma follows.
If 0 < c < e-e, => ln(c) < -e, => 1/ln(c)
> -1/e,
=> W(1/ln(c)) > -1, and W(-1,1/ln(c)) < -1, by Lemma
11.
Now verify that:
xr is a root.
xcrit1 = ln(W(-1, 1/ln(c))/ln(c))/ln(c), and
xcrit2 = ln(W(1/ln(c))/ln(c))/ln(c), satisfy:
dh/dx|x_critj = 0, j in {1, 2},
and furthermore:
d2h/dx2|xcrit1 = eW(-1,1/ln(c))*W(-1,1/ln(c))*ln(c)2*(W(-1,1/ln(c))+1)
> 0,
d2h/dx2|xcrit2 = eW(1/ln(c))*W(1/ln(c))*ln(c)2*(W(1/ln(c))+1)
< 0,
so xcrit1 gives rise to a (local) minimum and xcrit2
gives rise to a (local) maximum.
It suffices to show that h(x) is strictly decreasing if x < xcrit1
and if x > xcrit2, limx->-ooh(x) = +oo, limx->+ooh(x)
= -oo, and that there is exactly one root between xcrit1 and
xcrit2.
x < xcrit1, =>
x < ln(W(-1,1/ln(c))/ln(c))/ln(c), =>
x*ln(c) > ln(W(-1,1/ln(c))/ln(c)), =>
f(x) > W(-1,1/ln(c))/ln(c), =>
f(x)*ln(c) < W(-1, 1/ln(c)) < -1, and
f(2)(x) < eW(-1, 1/ln(c)) < 1/e,
dh/dx = f(2)(x)*f(x)*ln(c)2 - 1 < -ln(c)/e
- 1 < -(-e)/e - 1 = 0.
Similarly:
x > xcrit2, =>
dh/dx < 0.
Next, the two limits:
c < 1, so limx->+oof(2)(x) = 0, => limx->+ooh(x)
= -oo.
limx->-oof(2)(x) = limx->+oof(2)(-x)
= limx->+ooc(1/c^x) = c0 = 1, =>
limx->-ooh(x) = +oo.
Next verify that:
h(xcrit1) < 0 and h(xcrit2) > 0:
For this it suffices to show that:
xcrit1 < r < xcrit2, where r is the single
root of g(x) = 0 (in the range 0 < c < e-e), for then,
since by Lemma 11 in
a
previous article g(x) is strictly decreasing everywhere:
g(xcrit1) > 0 and g(xcrit2) < 0, and
therefore:
f(2)(xcrit1) > f(xcrit1) > xcrit1,
and
f(2)(xcrit2) < f(xcrit2) < xcrit2,
and the desired result follows.
Indeed:
xr < xcrit2, <=>
-W(-ln(c))/ln(c) < ln(W(1/ln(c))/ln(c))/ln(c), <=>
-W(-ln(c)) > ln(W(1/ln(c))/ln(c)), <=>
e-W(-ln(c)) > W(1/ln(c))/ln(c), <=>
-W(-ln(c))/ln(c) > W(1/ln(c)), <=>
-W(-ln(c)) < W(1/ln(c)), <=>
W(-ln(c)) > -W(1/ln(c)).
But:
ln(c) < -e, => -ln(c) > e, => W(-ln(c)) > 1, and
ln(c) < -e, => 1/ln(c) > -1/e, => W(1/ln(c)) > -1,
=> -W(1/ln(c))
< 1,
and the inequality 4 lines above holds.
Similar for:
xcrit1 < xr and the desired result follows.
It follows that h(x) has at least two roots.
By the Mean Value Theorem and the following two inequalities: h(xcrit1)
< 0 and h(xcrit2) > 0, h(x) has at least three roots,
(one
more between xcrit1 and xcrit2). If h(x) had more
than three roots, the fourth root would have to lie in (xcrit1,
xcrit2). But this is impossible, for then: dh/dx would have
to be negative somewhere inside (xcrit1, xcrit2)
and this contradicts lemma 6.2.
To order the roots, it suffices to show that xcrit1 <
xr < xcrit2. But this has been shown already
above
(since xr = r = e-W(-ln(c))), and the lemma
follows.
> solveAux2R:=proc(c)
> local fc,fb1,fb2,xcf1,xcf2,r1,r2,r3;
> fc:=evalf(c); #Turn c into a float
> fb1:=evalf(exp(exp(-1)));fb2:=evalf(exp(-exp(1)));
#Turn
e^(1/e) into a float.
> if fb1=fc then #If c is equal to e^(1/e) then
> r1:= evalf(exp(1)); #one real root=e.
> RETURN(r1);
> elif fc>1 and fc<fb1 then #If c is in (1,e^(1/e)), then
calculate
real roots.
> r1:=evalf(exp(-W(-log(fc)))); #First root
always
given by W.
> r2:=evalf(exp(-W(-1,-log(fc)))); #Second root given by
W(-1,x)
> RETURN({r1,r2});
> elif c=1 then #If c=1, then equation is degenerate: h(1,x) = 1-x
> r1:=1;
> RETURN(r1);
> elif fc>=fb2 and fc<1 then
> r1:= evalf(exp(-W(-log(fc))));
> RETURN(r1);
> elif fc>0 and fc<fb2 then
> xcf1:=evalf(log(1/log(fc)*W(-1,1/log(fc)))/log(fc));
> xcf2:=evalf(log(1/log(fc)*W(1/log(fc)))/log(fc));
> r1:=evalf(exp(-W(-log(fc))));
> r2:=fsolve(fc^x=log(x)/log(fc),x,x=0..xcf1);
> r3:=fsolve(fc^x=log(x)/log(fc),x,x=xcf2..infinity);
> RETURN({r1,r2,r3});
> elif c=0 then
> r1:=1;
> RETURN(r1);
> else
> RETURN(`No Real Roots.`);
> fi;
> end:
Let's now try our code:
> c:=1.4;
> solveAux2R(c);
{1.886663306, 4.410292793}
> c:=0.0142;
> solveAux2R(c);
{.2905280101, .9178938293, .2013709754e-1}