File:Sqrt2tetatemap.jpg

Range of validity of relation

$\mathrm{tet}_{\sqrt{2}}(\mathrm{ate}_{\sqrt{2}}(z))=z$

for the tetration and arctetration to base $\sqrt{2}$ in the plane $x=\Re(z)$, $y=\Im(z)$ is shaded with lines

$u=\Re \Big( \mathrm{tet}_{\sqrt{2}}(\mathrm{ate}_{\sqrt{2}}(z)) \Big) = \mathrm{const}$

and lines

$v=\Im \Big( \mathrm{tet}_{\sqrt{2}}(\mathrm{ate}_{\sqrt{2}}(z)) \Big) = \mathrm{const}$

These lines provide the shading of the central part of the picture.

In addition, lines

$\Im\Big( \exp_{\sqrt{2}}^n (x\!+\!\mathrm i y)\Big)=\pm \frac{|P|}{2}=\pm \frac{2\, \pi}{\ln(2)} $

are drawn for $n=0,1,2,3,4$ as bounds if the shaded range.

Usage: this is figure 16.5 of the book Суперфункции (2014, In Russian) ; the English version is in preparation in 2015. (Numeration of figures in the English version may be different from that of the Russian version.)

This image is used also in figure 2 The algorithm of the evaluation is also described in the article . (top right map)

C++ generator of the shading
Files ado.cin, conto.cin, sqrt2f21e.cin sqrt2f21l.cin should be loaded in order to compile the code below.

typedef std::complex z_type; // #include "tq2e.cin" // #include "tq2L.cin" int main{ int j,k,m,n; DB x,y, p,q, t; z_type z,c,d, cu,cd; int M=401,M1=M+1; int N=501,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("sqrt2tetatema.eps","w"); ado(o,0,0,214,212); fprintf(o,"112 110 translate\n 10 10 scale\n"); // DB sy=10.1/sinh(N/2./100.); DO(m,M1) X[m]=-10+.05*(m-.5); DO(n,N1) Y[n]=-10+.04*(n-.5); // DO(n,N1) Y[n]=sy*sinh((n-N/2.+.5)/100.); for(m=-10;m<11;m++) {M(m,-10)L(m,10)} for(n=-10;n<11;n++) {M( -10,n)L(10,n)} fprintf(o,".006 W 0 0 0 RGB S\n"); DO(m,M1)DO(n,N1){     g[m*N1+n]=9999; f[m*N1+n]=9999;} DO(m,M1){x=X[m]; DO(n,N1){y=Y[n]; z=z_type(x,y); //    if( abs(z-2.)>.2 || abs(z-4.)>.2) {      c=F21L(z); c=F21E(c); if(abs(c-z)<.1) { p=Re(c); q=Im(c); if(p>-99 && p<99) g[m*N1+n]=p; if(q>-99 && q<99 && fabs(q)>1.e-18) f[m*N1+n]=q; }       }}} fprintf(o,"1 setlinejoin 2 setlinecap\n"); //p=2; q=1.1; p=.1;q=.1; for(m=-10;m<10;m++) for(n=2;n<10;n+=2)conto(o,f,w,v,X,Y,M,N,(m+.1*n),-q, q); fprintf(o,".01 W 0 .6 0 RGB S\n"); for(m=0;m<10;m++) for(n=2;n<10;n+=2)conto(o,g,w,v,X,Y,M,N,-(m+.1*n),-q, q); fprintf(o,".01 W .9 0 0 RGB S\n"); for(m=0;m<10;m++) for(n=2;n<10;n+=2)conto(o,g,w,v,X,Y,M,N, (m+.1*n),-q, q); fprintf(o,".01 W 0 0 .9 RGB S\n");
 * 1) include 
 * 2) include 
 * 3) include 
 * 4) define DB double
 * 5) define DO(x,y) for(x=0;x<y;x++)
 * 6) include
 * 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"
 * 2) include "sqrt2f21l.cin"

for(m=1;m<11;m++) conto(o,f,w,v,X,Y,M,N, (0.-m),-p,p);fprintf(o,".06 W .9 0 0 RGB S\n"); for(m=1;m<11;m++) conto(o,f,w,v,X,Y,M,N, (0.+m),-p,p);fprintf(o,".06 W 0 0 .9 RGB S\n"); conto(o,f,w,v,X,Y,M,N, (0. ),-p,p);fprintf(o,".06 W .6 0 .6 RGB S\n"); for(m=-10;m<11;m++)conto(o,g,w,v,X,Y,M,N,(0.+m),-p,p);fprintf(o,".06 W 0 0 0 RGB S\n");

//#include "plofu.cin"

// M(-13.2,0)L(2,0) fprintf(o,".05 W 0 .8 0 RGB S\n");

fprintf(o,"0 setlinejoin 0 setlinecap\n");

M(2,0)L(10.1,0)fprintf(o,".05 W 1 1 1 RGB S\n"); DO(n,27){M(2+.3*n,0)L(2+.3*(n+.5) ,0)} fprintf(o,".1 W 0 0 0 RGB S\n");

//M(2,0)L(10.1,0)fprintf(o,".1 W 0 0 0 RGB [.19 .19] 0 setdash S\n"); //M(-10,0)L(-2,0)fprintf(o,".04 W 1 0 1 RGB S\n"); // fails at some printers fprintf(o,"showpage\n%c%cTrailer",'%','%'); fclose(o); system("epstopdf sqrt2tetatema.eps"); system(   "open sqrt2tetatema.pdf"); //for linux //     getchar; system("killall Preview"); // For macintosh }

C++ generator boundaries of the shading
Files ado.cin, conto.cin, sqrt2f21e.cin should be loaded in order to compile the code below.

typedef std::complex z_type; // #include "tq2e.cin" // #include "tq2L.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; 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("sqrt2tetatemb.eps","w"); ado(o,0,0,214,212); fprintf(o,"112 110 translate\n 10 10 scale\n"); // DB sy=10.1/sinh(N/2./100.);
 * 1) include 
 * 2) include 
 * 3) include 
 * 4) define DB double
 * 5) define DO(x,y) for(x=0;x<y;x++)
 * 6) include
 * 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"
 * 2) include "sqrt2f21l.cin"

DO(m,M1) X[m]=0+.05*(m-.5); DO(n,N1) Y[n]=-10+.05*(n-.5); for(m=-10;m<11;m++) {M(m,-10)L(m,10)} for(n=-10;n<11;n++) {M( -10,n)L(10,n)} fprintf(o,".006 W 0 0 0 RGB S\n");

DO(m,M1)DO(n,N1){     g[m*N1+n]=9999; f[m*N1+n]=9999;}

M(-10, 2./log(2.)*M_PI) L( 10, 2./log(2.)*M_PI) M(-10,-2./log(2.)*M_PI) L( 10,-2./log(2.)*M_PI)

p=96.; DO(m,M1){x=X[m]; DO(n,N1){y=Y[n]; z=z_type(x,y); c=exp(.5*log(2.)*z); p=Re(c); q=Im(c); if(p>-99 && p<99) g[m*N1+n]=p; if(q>-99 && q<99 && fabs(q)>1.e-18) f[m*N1+n]=q; }} p=2;q=1; conto(o,f,w,v,X,Y,M,N, (2./log(2.)*M_PI ),-p,p);fprintf(o,".06 W .6 0 .6 RGB S\n"); conto(o,f,w,v,X,Y,M,N, (-2./log(2.)*M_PI ),-p,p);fprintf(o,".06 W .6 0 .6 RGB S\n");

DO(m,M1){x=X[m]; DO(n,N1){y=Y[n]; z=z_type(x,y); c=exp(.5*log(2.)*z); c=exp(.5*log(2.)*c); p=Re(c); q=Im(c); if(p>-99 && p<99) g[m*N1+n]=p; if(q>-99 && q<99 && fabs(q)>1.e-18) f[m*N1+n]=q; }} p=96.; conto(o,f,w,v,X,Y,M,N, (2./log(2.)*M_PI ),-p,p);fprintf(o,".06 W .6 0 0 RGB S\n"); conto(o,f,w,v,X,Y,M,N, (-2./log(2.)*M_PI ),-p,p);fprintf(o,".06 W .6 0 0 RGB S\n");

DO(m,M1){x=X[m]; DO(n,N1){y=Y[n]; z=z_type(x,y); c=exp(.5*log(2.)*z); c=exp(.5*log(2.)*c); c=exp(.5*log(2.)*c); p=Re(c); q=Im(c); if(p>-99 && p<99) g[m*N1+n]=p; if(q>-99 && q<99 && fabs(q)>1.e-18) f[m*N1+n]=q; }} p=96.; conto(o,f,w,v,X,Y,M,N, (2./log(2.)*M_PI ),-p,p);fprintf(o,".06 W 0 0 .6 RGB S\n"); conto(o,f,w,v,X,Y,M,N, (-2./log(2.)*M_PI ),-p,p);fprintf(o,".06 W 0 0 .6 RGB S\n");

DO(m,M1){x=X[m]; DO(n,N1){y=Y[n]; z=z_type(x,y); c=exp(.5*log(2.)*z); c=exp(.5*log(2.)*c); c=exp(.5*log(2.)*c); c=exp(.5*log(2.)*c); p=Re(c); q=Im(c); if(p>-99 && p<99) g[m*N1+n]=p; if(q>-99 && q<99 && fabs(q)>1.e-18) f[m*N1+n]=q; }} p=96.; conto(o,f,w,v,X,Y,M,N, (2./log(2.)*M_PI ),-p,p);fprintf(o,".06 W .0 .5 0 RGB S\n"); conto(o,f,w,v,X,Y,M,N, (-2./log(2.)*M_PI ),-p,p);fprintf(o,".06 W 0 .5 0 RGB S\n");

DO(m,M1){x=X[m]; DO(n,N1){y=Y[n]; z=z_type(x,y); c=exp(.5*log(2.)*z); c=exp(.5*log(2.)*c); c=exp(.5*log(2.)*c); c=exp(.5*log(2.)*c); c=exp(.5*log(2.)*c); p=Re(c); q=Im(c); if(p>-99 && p<99) g[m*N1+n]=p; if(q>-99 && q<99 && fabs(q)>1.e-18) f[m*N1+n]=q; }} p=96.; conto(o,f,w,v,X,Y,M,N, (2./log(2.)*M_PI ),-p,p);fprintf(o,".06 W .0 0 0 RGB S\n"); conto(o,f,w,v,X,Y,M,N, (-2./log(2.)*M_PI ),-p,p);fprintf(o,".06 W 0 0 0 RGB S\n");

DO(m,M1){x=X[m]; DO(n,N1){y=Y[n]; z=z_type(x,y); c=exp(.5*log(2.)*z); c=exp(.5*log(2.)*c); c=exp(.5*log(2.)*c); c=exp(.5*log(2.)*c); c=exp(.5*log(2.)*c); c=exp(.5*log(2.)*c); p=Re(c); q=Im(c); if(p>-99 && p<99) g[m*N1+n]=p; if(q>-99 && q<99 && fabs(q)>1.e-18) f[m*N1+n]=q; }} p=96.; conto(o,f,w,v,X,Y,M,N, (2./log(2.)*M_PI ),-p,p);fprintf(o,".06 W .0 0 0 RGB S\n"); conto(o,f,w,v,X,Y,M,N, (-2./log(2.)*M_PI ),-p,p);fprintf(o,".06 W 0 0 0 RGB S\n");

/* p=4;q=1; for(m=-10;m<10;m++) for(n=2;n<10;n+=2)conto(o,f,w,v,X,Y,M,N,(m+.1*n),-q, q); fprintf(o,".01 W 0 .6 0 RGB S\n"); for(m=0;m<10;m++) for(n=2;n<10;n+=2)conto(o,g,w,v,X,Y,M,N,-(m+.1*n),-q, q); fprintf(o,".01 W .9 0 0 RGB S\n"); for(m=0;m<10;m++) for(n=2;n<10;n+=2)conto(o,g,w,v,X,Y,M,N, (m+.1*n),-q, q); fprintf(o,".01 W 0 0 .9 RGB S\n");

for(m=1;m<11;m++) conto(o,f,w,v,X,Y,M,N, (0.-m),-p,p);fprintf(o,".06 W .9 0 0 RGB S\n"); for(m=1;m<11;m++) conto(o,f,w,v,X,Y,M,N, (0.+m),-p,p);fprintf(o,".06 W 0 0 .9 RGB S\n"); conto(o,f,w,v,X,Y,M,N, (0. ),-p,p);fprintf(o,".06 W .6 0 .6 RGB S\n"); for(m=-10;m<11;m++)conto(o,g,w,v,X,Y,M,N,(0.+m),-p,p);fprintf(o,".06 W 0 0 0 RGB S\n");

// #include "plofu.cin"

// M(-13.2,0)L(2,0) fprintf(o,".05 W 0 .8 0 RGB S\n");

//M(2,0)L(10.1,0)fprintf(o,".05 W 1 1 1 RGB S\n"); //DO(n,27){M(2+.3*n,0)L(2+.3*(n+.5) ,0)} fprintf(o,".1 W 0 0 0 RGB S\n");

fprintf(o,"showpage\n%c%cTrailer",'%','%'); fclose(o); system("epstopdf sqrt2tetatemb.eps"); system(   "open sqrt2tetatemb.pdf"); //for linux //     getchar; system("killall Preview"); // For macintosh }

Latex combiner
Files generated with codes above should be loaded in order to compile the code below.

\documentclass[12pt]{article} \paperwidth 422px \paperheight 418px \textwidth 1394px \textheight 1300px \topmargin -94px \oddsidemargin -76px \usepackage{graphics} \usepackage{rotating} \newcommand \sx {\scalebox} \newcommand \rot {\begin{rotate}} \newcommand \ero {\end{rotate}} \newcommand \ing {\includegraphics} \newcommand \rmi {\mathrm{i}} \parindent 0pt \pagestyle{empty} \begin{document}\parindent 0pt

\sx{2}{\begin{picture}(204,204) \put(0,0){\ing{sqrt2tetatema}} \put(0,0){\ing{sqrt2tetatemb}} \put(6,206){\sx{.8}{$y$}} \put(6,188){\sx{.8}{$8$}} \put(6,168){\sx{.8}{$6$}} \put(6,148){\sx{.8}{$4$}} \put(6,128){\sx{.8}{$2$}} \put(6,108){\sx{.8}{$0$}} \put(-1, 88){\sx{.8}{$-2$}} \put(-1, 68){\sx{.8}{$-4$}} \put(-1, 48){\sx{.8}{$-6$}} \put(-1, 28){\sx{.8}{$-8$}} \put(24,2){\sx{.8}{$-8$}} \put(44,2){\sx{.8}{$-6$}} \put(64,2){\sx{.8}{$-4$}} \put(84,2){\sx{.8}{$-2$}} \put(110.5,2){\sx{.8}{$0$}} \put(130.5,2){\sx{.8}{$2$}} \put(150.5,2){\sx{.8}{$4$}} \put(170.5,2){\sx{.8}{$6$}} \put(190.5,2){\sx{.8}{$8$}} \put(208.6,2){\sx{.8}{$x$}}

\put(26,107.4){$v\!=\!0$} %\put(176,108){\bf cut} \put(115.4,57.4){\rot{90}$u\!=\!0$\ero} \end{picture}} \end{document}