File:Vladi07.jpg

Maps of agreement of approximations of natural tetration with elementary functions fima and maclo, used in the implementation fsexp.cin.

Left: $D=D_6(x\!+\!\mathrm i y)$;

$\displaystyle D_6(z)= - \ln \left( \frac {|\mathrm{tai}(z) - \mathrm{fima}(z)|} {|\mathrm{tai}(z)|+|\mathrm{fima}(z)|} \right)$

right: $D=D_7(x\!+\!\mathrm i y)$;

$\displaystyle D_7(z)= - \ln \left( \frac {|\mathrm{tai}(z) - \mathrm{maclo}(z)|} {|\mathrm{tai}(z)|+|\mathrm{maclo}(z)|} \right)$

Levels $D=\mathrm{const}$ are drawn with step 2, but the exception is dome for level $D=1$, this level is drawn with thick lines.

Usage: this is figure 14.10 of the book Суперфункции (2014, In Russian) ; the English version is in preparation in 2015.

First time published in the Vladikavkaz Matehmatical Journal .

C++ generator of the first picture
Fsexp.cin, ado.cin, conto.cin, plodi.cin should be loaded in order to compile the code below

typedef std::complex z_type; //#include  //#define z_type complex
 * 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.)


 * 1) include "fsexp.cin"

int main{ int j,k,m,n; DB x,y, p,q, t; z_type z,c,d, cu,cd;
 * 1) include "conto.cin"

int M=100,M1=M+1; int N=101,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("vladi07a.eps","w");ado(o,82,82); fprintf(o,"41 11 translate\n 10 10 scale\n");

DO(m,M1) X[m]=-4.+.08*(m-.5); DO(n,N1)Y[n]= -1 +.08*(n-.5);

for(m=-3;m<4;m++) {    if(m==0){M(m,-0.1)L(m,6.1)} else {M(m,0)L(m,6)}                 } for(n=0;n<7;n++) {     M(  -3,n)L(3,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]; printf("run at x=%6.3f\n",x); DO(n,N1){y=Y[n]; z=z_type(x,y); c=tai3(z); //     d=fima1(z); d=fima(z); p=abs(c-d)/(abs(c)+abs(d)); p=-log(p)/log(10.); //     p=Re(c); q=Im(c); if(p>-999 && p<999 && fabs(p)> 1.e-8 && fabs(p-1.)>1.e-8)      g[m*N1+n]=p; //     if(q>-999 && q<999 && fabs(q)> 1.e-8)                           f[m*N1+n]=q; }}


 * 1) include"plodi.cin"

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

C++ generator of the second picture
typedef std::complex z_type; //#include  //#define z_type complex
 * 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.)


 * 1) include "fsexp.cin"

int main{ int j,k,m,n; DB x,y, p,q, t; z_type z,c,d, cu,cd;
 * 1) include "conto.cin"

int M=100,M1=M+1; int N=101,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("vladi07b.eps","w");ado(o,82,82); fprintf(o,"41 11 translate\n 10 10 scale\n");

DO(m,M1) X[m]=-4.+.08*(m-.5); DO(n,N1)Y[n]= -1 +.08*(n-.5);

for(m=-3;m<4;m++) {    if(m==0){M(m,-0.1)L(m,6.1)} else {M(m,0)L(m,6)}                 } for(n=0;n<7;n++) {     M(  -3,n)L(3,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]; printf("run at x=%6.3f\n",x); DO(n,N1){y=Y[n]; z=z_type(x,y); c=tai3(z); d=maclo(z); //     d=fima1(z); p=abs(c-d)/(abs(c)+abs(d)); p=-log(p)/log(10.); //     p=Re(c); q=Im(c); if(p>-999 && p<999 && fabs(p)> 1.e-8 && fabs(p-1.)>1.e-8)      g[m*N1+n]=p; //     if(q>-999 && q<999 && fabs(q)> 1.e-8)                           f[m*N1+n]=q; }}


 * 1) include"plodi.cin"

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

Latex combiner
\documentclass[12pt]{article} \usepackage{graphicx} \usepackage{rotating} \usepackage{geometry} \paperwidth 356px %\paperheight 134px \paperheight 184px \topmargin -98pt \oddsidemargin -94pt \pagestyle{empty} \begin{document} \newcommand \ing {\includegraphics} \newcommand \sx {\scalebox}

\newcommand \rot {\begin{rotate}} \newcommand \ero {\end{rotate}}

\newcommand \tafiax { \put(7,68){\sx{.5}{$y$}} %\put(5,74){\sx{.5}{$\Im(z)$}} %\put(7,69){\sx{.5}{$6$}} \put(7,59){\sx{.5}{$5$}} \put(7,49){\sx{.5}{$4$}} \put(7,39){\sx{.5}{$3$}} \put(7,29){\sx{.5}{$2$}} \put(7,19){\sx{.5}{$1$}} \put(7, 9){\sx{.5}{$0$}} \put( 7 ,6){\sx{.5}{$-\!3$}} \put(17 ,6){\sx{.5}{$-\!2$}} \put(27 ,6){\sx{.5}{$-\!1$}} \put(40, 6){\sx{.5}{$0$}} \put(50, 6){\sx{.5}{$1$}} \put(60, 6){\sx{.5}{$2$}} %\put(70, 6){\sx{.5}{$3$}} %\put(78, 6){\sx{.5}{$\Re(z)$}} \put(70, 6){\sx{.5}{$x$}} } %\sx{2.33}{\begin{picture}(96,75) \sx{2.33}{\begin{picture}(80,75) %\put(0,0){\includegraphics{figtaifima}} \put(0,0){\includegraphics{vladi07a}} \tafiax \put(31,54){\sx{.45}{$D\!>\!14$}} \end{picture}} \sx{2.33}{\begin{picture}(84,70) %\put(0,0){\includegraphics{figtaimaclo}} \put(0,0){\includegraphics{vladi07b}} \tafiax \put(33,55){\sx{.52}{$D\!<\!1$}} \put(33,24){\sx{.45}{$D\!>\!14$}} \end{picture}}

\end{document}