File:IterPowPlotT.jpg

Iterates of quadratic function, $T(z)=z^2$:

$y=T^n(x)$ versus $x$ for various values of $n$,

For this case, the $n$th iterate can be expressed as

$T^n(x)=x^{2^n}$

Previous version of this picture is shown in figure at right; less lines are drawn there.

C++ generator of curves
using namespace std; typedef complex z_type;
 * 1) include
 * 2) include
 * 3) include
 * 4) define DB double
 * 5) define DO(x,y) for(x=0;x<y;x++)
 * 1) include
 * 1) define Re(x) x.real
 * 2) define Im(x) x.imag
 * 3) define I z_type(0.,1.)
 * 4) include "ado.cin"

DB B=2.; DB F(DB z) { return exp( exp( log(B)*z));} DB G(DB z) { return log( log(z) )/log(B);}

DB T(DB z) { return exp(B*log(z));} DB U(DB z) { return exp(log(z)/B);}

int main{ int m,n; double x,y,t; FILE *o; o=fopen("IterPowPlot.eps","w"); ado(o,1010,1010); fprintf(o,"1 1 translate 100 100 scale\n");
 * 1) define M(x,y) fprintf(o,"%6.3f %6.3f M\n",0.+x,0.+y);
 * 2) define L(x,y) fprintf(o,"%6.3f %6.3f L\n",0.+x,0.+y);

M(0,0)L(10,10)fprintf(o,"1 setlinecap 1 setlinejoin .03 W 0 0 1 RGB S\n");

M(0,0)L(.995,.01)L(1.013,10) fprintf(o,"1 setlinecap 1 setlinejoin .03 W 0 .8 0 RGB S\n");

M(0,0)L(.01,.995)L(10,1.013) fprintf(o,"1 setlinecap 1 setlinejoin .03 W .8 0 .8 RGB S\n");

for(m=0;m<11;m++) {M(m,0)L(m,10)} for(m=0;m<11;m++) {M(0,m)L(10,m)} fprintf(o,"2 setlinecap .01 W 0 0 0 RGB S\n");

//DO(m,42){x=0.001+.1*m; y=exp(2.*log(x)); if(m==0)M(x,y) else L(x,y);} fprintf(o,"1 setlinecap 1 setlinejoin .04 W 0 1 0 RGB S\n"); //DO(m,1002){x=0.001+.01*m; y=exp(.5*log(x)); if(m==0)M(x,y) else L(x,y);} fprintf(o,"1 setlinecap 1 setlinejoin .04 W 1 0 1 RGB S\n");

DO(m,42){x=0.001+.1*m; y=T(T(T(x))); if(m==0)M(x,y) else L(x,y);} fprintf(o,"1 setlinecap 1 setlinejoin .04 W 0 1 0 RGB S\n"); DO(m,42){x=0.001+.1*m; y=T(T(x)); if(m==0)M(x,y) else L(x,y);} fprintf(o,"1 setlinecap 1 setlinejoin .04 W 0 1 0 RGB S\n"); DO(m,42){x=0.001+.1*m; y=T(x); if(m==0)M(x,y) else L(x,y);} fprintf(o,"1 setlinecap 1 setlinejoin .04 W 0 1 0 RGB S\n"); DO(m,1002){x=0.001+.01*m; y=U(x); if(m==0)M(x,y) else L(x,y);} fprintf(o,"1 setlinecap 1 setlinejoin .04 W 1 0 1 RGB S\n"); DO(m,1002){x=0.001+.01*m; y=U(U(x)); if(m==0)M(x,y) else L(x,y);} fprintf(o,"1 setlinecap 1 setlinejoin .04 W 1 0 1 RGB S\n"); DO(m,1002){x=0.001+.01*m; y=U(U(U(x))); if(m==0)M(x,y) else L(x,y);} fprintf(o,"1 setlinecap 1 setlinejoin .04 W 1 0 1 RGB S\n");

for(n=-20;n<21;n++){t=.1*n; DO(m,92){x=1+.1*m; y=F(t+G(x)); if(m==0) M(x,y) else L(x,y); if(y>10.1)break;} } fprintf(o,"1 setlinecap 1 setlinejoin .02 W 0 0 0 RGB S\n");

fprintf(o,"showpage\n%c%cTrailer",'%','%'); fclose(o); system("epstopdf IterPowPlot.eps"); system(   "open IterPowPlot.pdf"); getchar; system("killall Preview"); }

Latex generator of labels
% \documentclass[12pt]{article} \usepackage{geometry} \usepackage{graphicx} \usepackage{rotating} \paperwidth 1008pt \paperheight 1008pt \topmargin -94pt \oddsidemargin -81pt \textwidth 1100pt \textheight 1100pt \pagestyle {empty} \newcommand \sx {\scalebox} \newcommand \rot {\begin{rotate}} \newcommand \ero {\end{rotate}} \newcommand \ing {\includegraphics} \parindent 0pt \pagestyle{empty} \begin{document} \begin{picture}(1002,1002) %\put(10,10){\ing{IterPowPlot}} %\put(10,10){\ing{PowIte}} \put(10,10){\ing{IterPowPlot}} %\put(11,976){\sx{4}{$y\!=\!\mathrm{pow}_2^c(x)$}} %\put(11,976){\sx{4}{$y\!=\!x^{2^n}$}} \put(11,976){\sx{4}{$x^{2^n}$}} \put(11,898){\sx{4}{$9$}} \put(11,798){\sx{4}{$8$}} \put(11,698){\sx{4}{$7$}} \put(11,598){\sx{4}{$6$}} \put(11,498){\sx{4}{$5$}} \put(11,398){\sx{4}{$4$}} \put(11,298){\sx{4}{$3$}} \put(11,198){\sx{4}{$2$}} \put(11,098){\sx{4}{$1$}} \put(100,16){\sx{4}{$1$}} \put(200,16){\sx{4}{$2$}} \put(301,16){\sx{4}{$3$}} \put(401,16){\sx{4}{$4$}} \put(502,16){\sx{4}{$5$}} \put(602,16){\sx{4}{$6$}} \put(703,16){\sx{4}{$7$}} \put(803,16){\sx{4}{$8$}} \put(903,16){\sx{4}{$9$}} \put(990,16){\sx{4}{$x$}} \put(112,850){\sx{3.8}{\rot{90}$n\!\rightarrow \infty $\ero}} \put(152,866){\sx{3.8}{\rot{88}$n\!=\!3$\ero}} \put(191,870){\sx{3.8}{\rot{87}$n\!=\!2$\ero}} \put(325,921){\sx{3.8}{\rot{81}$n\!=\!1$\ero}} \put(461,893){\sx{3.6}{\rot{70}$n\!=\!0.6$\ero}} \put(509,894){\sx{3.6}{\rot{69}$n\!=\!0.5$\ero}} \put(563,895){\sx{3.6}{\rot{63}$n\!=\!0.4$\ero}} \put(630,897){\sx{3.6}{\rot{59}$n\!=\!0.3$\ero}} \put(713,900){\sx{3.6}{\rot{54}$n\!=\!0.2$\ero}} \put(826,913){\sx{3.6}{\rot{50}$n\!=\!0.1$\ero}} \put(928,932){\sx{3.8}{\rot{45}$n\!=\!0$\ero}}

\put(894,778){\sx{3.6}{\rot{39}$n\!=\!-0.1$\ero}} \put(888,676){\sx{3.6}{\rot{33}$n\!=\!-0.2$\ero}} \put(884,596){\sx{3.6}{\rot{28}$n\!=\!-0.3$\ero}} \put(877,528){\sx{3.6}{\rot{24}$n\!=\!-0.4$\ero}} \put(871,476){\sx{3.6}{\rot{19}$n\!=\!-0.5$\ero}} \put(870,429){\sx{3.6}{\rot{17}$n\!=\!-0.6$\ero}} \put(890,297){\sx{3.8}{\rot{8}$n\!=\!-1$\ero}} \put(884,172){\sx{3.8}{\rot{1}$n\!=\!-2$\ero}} \put(881,132){\sx{3.8}{\rot{.3}$n\!=\!-3$\ero}} \put(852,100){\sx{3.6}{\rot{.1}$n\!\rightarrow - \infty$\ero}} \end{picture} \end{document}