File:E1efig09abc1a150.png

Complex maps of tetration $\mathrm{tet}_b$ to base $b\!=\!1.5$, left, $b\!=\!\exp(1/\mathrm e)$, center, and $b\!=\!\sqrt{2}$, right.

$f\!=\! \mathrm{tet}(x\!+\!\mathrm i y)$ is shown in the $x,y$ plane with levels $~p\!=\!\Re(f)\!=\! \mathrm{const}~$ and levels $~q\!=\!\Im(f)\!=\! \mathrm{const}~$. The integer levels are shown with thick lines.

This image is close to the figure 9 in the article .

The C++ generators of the pictures used in the figure are available and will be uploaded upon request.

Copyleft 2011 by Dmitrii Kouznetsov. You may copy, modify and/or distribute the image for free but the source should be attributed.

C++ generator of first map, $b\!=\!1.5$
In order to compile the code below, the following files should be loaded: ado.cin, conto.cin, GLxw2048.inc, f2048b15.inc, f15.cin

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 // #define z_type complex //DB T22=-8.5715740896774235522; //DB T42= 9.6180745210214273558; //#include "f21E.cin" //#include "e1etf.cin" main{ int j,k,m,n; DB x,y, p,q, t; z_type z,c,d, cu,cd; // int M=201,M1=M+1; // int N=401,N1=N+1; int M=81,M1=M+1; int N=161,N1=N+1; DB X[M1],Y[N1], g[M1*N1],f[M1*N1], w[M1*N1]; // w is working array. char v[M1*N1]; // v is working array // FILE *o;o=fopen("f21E.eps","w"); ado(o,0,0,94,92); // FILE *o;o=fopen("02.eps","w"); ado(o,0,0,214,212); // FILE *o;o=fopen("be1ezoom.eps","w"); ado(o,0,0,87,87); FILE *o;o=fopen("b15zoom.eps","w"); ado(o,87,87); fprintf(o,"46 45 translate\n 10 10 scale\n"); DO(m,M1) X[m]=-4.+.1*(m-.5); DO(n,N1) Y[n]=-4.+.05*(n-.5); for(m=-4;m<5;m++) {M(m,-4)L(m,4)} for(n=-4;n<5;n++) {M( -4,n)L(4,n)} fprintf(o,".006 W 0 0 0 RGB S\n"); fprintf(o,"/adobe-Roman findfont .6 scalefont setfont\n"); for(m=-2;m<0;m+=2) {M(-4.7,m-.2) fprintf(o,"(%1d)s\n",m);} for(m= 0;m<3;m+=2) {M(-4.4,m-.2) fprintf(o,"(%1d)s\n",m);} for(m=-2;m<0;m+=2) {M(m-.3,-4.48) fprintf(o,"(%1d)s\n",m);} for(m= 0;m<3;m+=2) {M(m-.16,-4.48) fprintf(o,"(%1d)s\n",m);} /* fprintf(o,"/Times-Italic findfont 1 scalefont setfont\n"); //fprintf(o,"/adobe-italic findfont 1 scalefont setfont\n"); M(-4.7, 4.5) fprintf(o,"(y)s\n"); M( 4.6,-4.8) fprintf(o,"(x)s\n"); M(-4,0)L(4.1,0) M(0,-4)L(0,4.1) fprintf(o,".01 W 1 0 1 RGB S\n"); //z_type tm,tp,F[M1*N1];; DO(m,M1)DO(n,N1){	g[m*N1+n]=9999; f[m*N1+n]=9999;} DB b=sqrt(2); DO(m,M1){x=X[m]; printf("x=%6.3f\n",x); DO(n,N1){y=Y[n]; z=z_type(x,y); if(abs(z+2.)>.04) {		//	c=F21E(z); //	c=E1ETF(z); c=F15(z); p=Re(c); q=Im(c); if(p>-9999 && p<9999) g[m*N1+n]=p; if(q>-9999 && q<9999 && fabs(q)>1.e-14) f[m*N1+n]=q; } 	}} fprintf(o,"1 setlinejoin 2 setlinecap\n"); p=2.; q=1.1;;
 * 1) define Re(x) x.real
 * 2) define Im(x) x.imag
 * 3) define I z_type(0.,1.)
 * 4) include "conto.cin"
 * 1) include "f15.cin"
 * 1) include "plofu.cin"

fprintf(o,"0 setlinejoin 0 setlinecap\n"); // p=1.e-15; // for(n=-10;n<11;n++) {q=p*n; z=z_type(q,0.); printf("%19.15f %19.15f\n",q, Re(TQ2E(z))  ) //y=2*M_PI/log(2.); // y=M_PI/log(log(2)); //y=9.064720284;
 * }

//	M(-2,0)L(-10.1, 0) fprintf(o,"0.05 W 1 1 1 RGB S\n"); // // DO(n,20){ M(-2.-.4*n,0)L(-2-.4*(n+.5),0) } //			fprintf(o,".11 W 0 0 0 RGB S\n");

//M(-2,0)L(-4.1, 0) fprintf(o,".1 W 0 0 0 RGB [.14 .14] 0 setdash S\n"); //fails at some pri nters

//M(-10,0)L(-2,0)fprintf(o,".04 W 1 0 1 RGB S\n"); fprintf(o,"showpage\n"); fprintf(o,"%cTrailer\n",'%'); fclose(o); //	system(     "gv b15zoom.eps &"); //for UNIX system(   "open b15zoom.eps"); //for macintosh system("epstopdf b15zoom.eps"); // 	system(   "xpdf be1ezoom.pdf"); // for LINUX getchar; system("killall Preview"); // For macintosh }

C++ generator of third map, $b\!=\!\sqrt{2}\!\approx\!1.41$
Files required: ado.cin, conto.cin, sqrt2f21e.cin typedef std::complex z_type;
 * 1) include 
 * 2) include 
 * 3) include 
 * 4) define DB double
 * 5) define DO(x,y) for(x=0;x<y;x++)
 * 6) include

DB T22=-8.5715740896774235522; DB T42= 9.6180745210214273558; //#include "f21E.cin" //#include "e1etf.cin" //#include "f15.cin" int main{ int j,k,m,n; DB x,y, p,q, t; z_type z,c,d, cu,cd; // int M=201,M1=M+1; // int N=401,N1=N+1; int M=81,M1=M+1; int N=161,N1=N+1; DB X[M1],Y[N1], g[M1*N1],f[M1*N1], w[M1*N1]; // w is working array. char v[M1*N1]; // v is working array // FILE *o;o=fopen("f21E.eps","w"); ado(o,0,0,94,92); // FILE *o;o=fopen("02.eps","w"); ado(o,0,0,214,212); // FILE *o;o=fopen("bq2zoom.eps","w"); ado(o,87,87); FILE *o;o=fopen("e1e09q2.eps","w"); ado(o,87,87); fprintf(o,"46 45 translate\n 10 10 scale\n"); DO(m,M1) X[m]=-4.+.1*(m-.5); DO(n,N1) Y[n]=-4.+.05*(n-.5); for(m=-4;m<5;m++) {M(m,-4)L(m,4)} for(n=-4;n<5;n++) {M( -4,n)L(4,n)} fprintf(o,".006 W 0 0 0 RGB S\n"); /* fprintf(o,"/adobe-Roman findfont .6 scalefont setfont\n"); for(m=-2;m<0;m+=2) {M(-4.7,m-.2) fprintf(o,"(%1d)s\n",m);} for(m= 0;m<3;m+=2) {M(-4.4,m-.2) fprintf(o,"(%1d)s\n",m);} for(m=-2;m<0;m+=2) {M(m-.3,-4.48) fprintf(o,"(%1d)s\n",m);} for(m= 0;m<3;m+=2) {M(m-.16,-4.48) fprintf(o,"(%1d)s\n",m);} /* fprintf(o,"/Times-Italic findfont 1 scalefont setfont\n"); //fprintf(o,"/adobe-italic findfont 1 scalefont setfont\n"); M(-4.7, 4.5) fprintf(o,"(y)s\n"); M( 4.6,-4.8) fprintf(o,"(x)s\n"); M(-4,0)L(4.1,0) M(0,-4)L(0,4.1) fprintf(o,".01 W 1 0 1 RGB S\n"); //z_type tm,tp,F[M1*N1];; DO(m,M1)DO(n,N1){	g[m*N1+n]=9999; f[m*N1+n]=9999;} DB b=sqrt(2); DO(m,M1){x=X[m]; printf("x=%6.3f\n",x); DO(n,N1){y=Y[n]; z=z_type(x,y); if(abs(z+2.)>.04) {			c=F21E(z); //c=E1ETF(z); // c=F15(z); p=Re(c); q=Im(c); if(p>-9999 && p<9999) g[m*N1+n]=p; if(q>-9999 && q<9999 && fabs(q)>1.e-14) f[m*N1+n]=q; } 	}} fprintf(o,"1 setlinejoin 2 setlinecap\n"); p=2.; q=1.1;;
 * 1) define Re(x) x.real
 * 2) define Im(x) x.imag
 * 3) define I z_type(0.,1.)
 * 4) include "conto.cin"
 * 1) include "sqrt2f21e.cin"
 * 1) include "plofu.cin"

fprintf(o,"0 setlinejoin 0 setlinecap\n"); // p=1.e-15; // for(n=-10;n<11;n++) {q=p*n; z=z_type(q,0.); printf("%19.15f %19.15f\n",q, Re(TQ2E(z))  ); } //y=2*M_PI/log(2.); // y=M_PI/log(log(2)); //y=9.064720284;

//	M(-2,0)L(-10.1, 0) fprintf(o,"0.05 W 1 1 1 RGB S\n"); // // DO(n,20){ M(-2.-.4*n,0)L(-2-.4*(n+.5),0) } //			fprintf(o,".11 W 0 0 0 RGB S\n");

//M(-2,0)L(-4.1, 0) fprintf(o,".1 W 0 0 0 RGB [.14 .14] 0 setdash S\n"); //fails at some printers

//M(-10,0)L(-2,0)fprintf(o,".04 W 1 0 1 RGB S\n"); fprintf(o,"showpage\n%cTrailer",'%'); fclose(o); system("epstopdf e1e09q2.eps"); system(   "open e1e09q2.pdf"); getchar; system("killall Preview"); // For macintosh }