File:TetsheldonmapT600.jpg

From TORI
Jump to: navigation, search
Original file(5,130 × 1,776 pixels, file size: 1.02 MB, MIME type: image/jpeg)

Complex map of Tetration to the Sheldon base $b= 1.52598338517 + 0.0178411853321\, \mathrm i$.

$u+\mathrm i v=\mathrm{tet}_b(x\!+\!\mathrm i y)$

in the $x,y$ plane.

Description

$F=\mathrm{tet}_b$ is solution of the transfer equation

$f(z\!+\!1)=b^{F(z)}$

$F(0)=1$

with specific behavior at $\pm \mathrm i \infty$;

$\displaystyle \lim_{y\rightarrow +\infty} F(x+\mathrm i y)= L_1$

$\displaystyle \lim_{y\rightarrow -\infty} F(x+\mathrm i y)=L_2$

Constants $L_1$ and $L_2$ are fixed points of logarithm to base $b$; they are determined (and evaluated) through function filog:

$L_1= ~\mathrm{filog}(b)$ $\approx 2.0565398441043761 + 1.1445267140098765 \, \mathrm i$

$L_2=\mathrm{filog}(b^*)^*\!$ $\!\approx 2.2284359658711805 - 1.3507994961102865 \, \mathrm i$

C++ generator of values along the contour for the Cauchi integral

// FIle GLxw2048.inc should loaded or generated with code GLxw2048.cc.
// In addition, files ado.cin and filog.cin should be loaded in the working directory in order to compile the code below.


#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#define DB double
using namespace std;
#include <complex>
typedef complex<double> z_type;
//#include <complex.h>
//#define z_type complex<double>
#define Re(x) (x).real()
#define Im(x) (x).imag()
#define I z_type(0.,1.)
#define DO(x,y) for(x=0;x<y;x++)

#include "ado.cin"
#include "filog.cin"

#define M(x,y) fprintf(o,"%5.3f %5.3f M\n",1.*(x),1.*(y));
#define L(x,y) fprintf(o,"%5.3f %5.3f L\n",1.*(x),1.*(y));
#define o(x,y) fprintf(o,"%5.3f %5.3f o\n",1.*(x),1.*(y));

int main(){ int J,j,k,m,n; DB x,y, u, t; z_type z,c,d, cu,cd;
#include "GLxw2048.inc"

z_type b=z_type( 1.5259833851700000, 0.0178411853321000);
z_type a=log(b);
z_type Zo=Filog(a);
z_type Zc=conj(Filog(conj(a)));

int K=NPO; DB A=32.; printf("K=%3d A=%3.1f\n",K,A);
z_type E[2048],F[2048],G[2048],H[2048];

FILE *o;o=fopen("TetSheldonIma.eps","w");ado(o,2200,450);
fprintf(o,"1100 201 translate\n 100 100 scale\n");
for(j=-10;j<11;j+=1){M(j,-2)L(j,2);}
M(-10 , 2)L(10 , 2);
M(-10 , 1)L(10 , 1);
M(-10 ,-1)L(10 ,-1);
M(-10 ,-2)L(10 ,-2);
  fprintf(o,".006 W S\n");
M(-10.1,0)L(10.1,0); fprintf(o,".02 W S\n");
fprintf(o,".01 W S\n 1 setlinejoin 1\n");

DO(n,K){y=GLx[n]*A;
        if(y<-2.4) E[n]=F[n]=G[n]=Zc;
        else {if(y>2.4) E[n]=F[n]=G[n]=Zo;
                else { F[n]=c=1. ;//f3(z_type(0.,y));
                        E[n]=log(c)/a;
                        G[n]=exp(a*c);
                     }
             }
        }

DO(j,440){k=K/2+j-220; y=GLx[k]*A; u=Re(F[k]);if(j==0)M(y,u)else L(y,u)}
fprintf(o,".08 W 1 .2 1 RGB S\n");
DO(j,440){k=K/2+j-220; y=GLx[k]*A; u=Im(F[k]);if(j==0)M(y,u)else L(y,u)}
//DO(k,K-512){y=GLx[k]*A; u=Im(F[k]);if(k==0)M(y,u)else L(y,u)}
fprintf(o,".08 W 1 .6 1 RGB S\n");

for(n=0;n<K;n+=2)
        { y=GLx[n]*A; z=z_type(0.,y); c=0.; //printf(" %3d",n);
         DO(k,K){t=A*GLx[k]; c+= GLw[k]*( G[k]/(z_type( 1.,t)-z) - E[k]/(z_type(-1.,t)-z) );}
         cu=.5-I/(2.*M_PI)*log( (z_type(1.,-A)+z)/(z_type(1., A)-z) );
         cd=.5-I/(2.*M_PI)*log( (z_type(1.,-A)-z)/(z_type(1., A)+z) );
         c=c*(A/(2.*M_PI)) +Zo*cu+Zc*cd;
         if(abs(n-K/2)<4)printf("%3d %6.3f %9.6f %9.6f %9.6f %9.6f\n",n,y,Re(F[n]),Im(F[n]),Re(c),Im(c));
         E[n]=log(c)/a; F[n]=c; G[n]=exp(c*a);}
DO(j,440){k=K/2+j-220; y=GLx[k]*A; u=Re(F[k]);if(j==0)M(y,u)else L(y,u)}
DO(j,440){k=K/2+j-220; y=GLx[k]*A; u=Im(F[k]);if(j==0)M(y,u)else L(y,u)}
//DO(k,K){y=GLx[k]*A; u=Re(F[k]);if(k==0)M(y,u)else L(y,u)} fprintf(o,".02 W .7 0 0 RGB S\n");
//DO(k,K){y=GLx[k]*A; u=Im(F[k]);if(k==0)M(y,u)else L(y,u)}
fprintf(o,".01 W 1 0 0 RGB S\n");

for(n=K-1;n>0;n-=2)
        { y=GLx[n]*A; z=z_type(0.,y); c=0.; //printf(" %3d",n);
         DO(k,K){t=A*GLx[k]; c+= GLw[k]*( G[k]/(z_type( 1.,t)-z) - E[k]/(z_type(-1.,t)-z) );}
         cu=.5-I/(2.*M_PI)*log( (z_type(1.,-A)+z)/(z_type(1., A)-z) );
         cd=.5-I/(2.*M_PI)*log( (z_type(1.,-A)-z)/(z_type(1., A)+z) );
         c=c*(A/(2.*M_PI)) +Zo*cu+Zc*cd;
         if(abs(n-K/2)<4)printf("%3d %6.3f %9.6f %9.6f %9.6f %9.6f\n",n,y,Re(F[n]),Im(F[n]),Re(c),Im(c));
         E[n]=log(c)/a; F[n]=c; G[n]=exp(c*a); }
DO(j,440){k=K/2+j-220; y=GLx[k]*A; u=Re(F[k]);if(j==0)M(y,u)else L(y,u)}
DO(j,440){k=K/2+j-220; y=GLx[k]*A; u=Im(F[k]);if(j==0)M(y,u)else L(y,u)}
//DO(k,K){y=GLx[k]*A; u=Re(F[k]);if(k==0)M(y,u)else L(y,u)} fprintf(o,".02 W 0 .6 0 RGB S\n");
//DO(k,K){y=GLx[k]*A; u=Im(F[k]);if(k==0)M(y,u)else L(y,u)}
fprintf(o,".02 W 0 1 0 RGB S\n");

for(n=0;n<K;n+=2)
        { y=GLx[n]*A; z=z_type(0.,y); c=0.; //printf(" %3d",n);
         DO(k,K){t=A*GLx[k]; c+= GLw[k]*( G[k]/(z_type( 1.,t)-z) - E[k]/(z_type(-1.,t)-z) );}
         cu=.5-I/(2.*M_PI)*log( (z_type(1.,-A)+z)/(z_type(1., A)-z) );
         cd=.5-I/(2.*M_PI)*log( (z_type(1.,-A)-z)/(z_type(1., A)+z) );
         c=c*(A/(2.*M_PI)) +Zo*cu+Zc*cd;
         if(abs(n-K/2)<4)printf("%3d %6.3f %9.6f %9.6f %9.6f %9.6f\n",n,y,Re(F[n]),Im(F[n]),Re(c),Im(c));
         E[n]=log(c)/a; F[n]=c; G[n]=exp(c*a); }
//DO(k,K){y=GLx[k]*A; u=Re(F[k]);if(k==0)M(y,u)else L(y,u)} fprintf(o,".01 W 0 0 .7 RGB S\n");
//DO(k,K){y=GLx[k]*A; u=Im(F[k]);if(k==0)M(y,u)else L(y,u)}
DO(j,440){k=K/2+j-220; y=GLx[k]*A; u=Re(F[k]);if(j==0)M(y,u)else L(y,u)}
DO(j,440){k=K/2+j-220; y=GLx[k]*A; u=Im(F[k]);if(j==0)M(y,u)else L(y,u)}
fprintf(o,".01 W 0 0 1 RGB S\n");

for(n=K-1;n>0;n-=2)
        { y=GLx[n]*A; z=z_type(0.,y); c=0.; //printf(" %3d",n);
         DO(k,K){t=A*GLx[k]; c+= GLw[k]*( G[k]/(z_type( 1.,t)-z) - E[k]/(z_type(-1.,t)-z) );}
         cu=.5-I/(2.*M_PI)*log( (z_type(1.,-A)+z)/(z_type(1., A)-z) );
         cd=.5-I/(2.*M_PI)*log( (z_type(1.,-A)-z)/(z_type(1., A)+z) );
         c=c*(A/(2.*M_PI)) +Zo*cu+Zc*cd;
         if(abs(n-K/2)<4)printf("%3d %6.3f %9.6f %9.6f %9.6f %9.6f\n",n,y,Re(F[n]),Im(F[n]),Re(c),Im(c));
         E[n]=log(c)/a; F[n]=c; G[n]=exp(c*a);}
//DO(k,K){y=GLx[k]*A; u=Re(F[k]);if(k==0)M(y,u)else L(y,u)} fprintf(o,".01 W 0 0 0 RGB S\n");
//DO(k,K){y=GLx[k]*A; u=Im(F[k]);if(k==0)M(y,u)else L(y,u)} fprintf(o,".01 W 0 0 0 RGB S\n");

DO(j,4)
{
for(n=0;n<K;n+=2)
        { y=GLx[n]*A; z=z_type(0.,y); c=0.; //printf(" %3d",n);
         DO(k,K){t=A*GLx[k]; c+= GLw[k]*( G[k]/(z_type( 1.,t)-z) - E[k]/(z_type(-1.,t)-z) );}
         cu=.5-I/(2.*M_PI)*log( (z_type(1.,-A)+z)/(z_type(1., A)-z) );
         cd=.5-I/(2.*M_PI)*log( (z_type(1.,-A)-z)/(z_type(1., A)+z) );
         c=c*(A/(2.*M_PI)) +Zo*cu+Zc*cd;
         if(abs(n-K/2)<2)printf("%3d %6.3f %9.6f %9.6f %9.6f %9.6f\n",n,y,Re(F[n]),Im(F[n]),Re(c),Im(c));
         E[n]=log(c)/a; F[n]=c; G[n]=exp(c*a); }
for(n=K-1;n>0;n-=2)
        { y=GLx[n]*A; z=z_type(0.,y); c=0.; //printf(" %3d",n);
         DO(k,K){t=A*GLx[k]; c+= GLw[k]*( G[k]/(z_type( 1.,t)-z) - E[k]/(z_type(-1.,t)-z) );}
         cu=.5-I/(2.*M_PI)*log( (z_type(1.,-A)+z)/(z_type(1., A)-z) );
         cd=.5-I/(2.*M_PI)*log( (z_type(1.,-A)-z)/(z_type(1., A)+z) );
         c=c*(A/(2.*M_PI)) +Zo*cu+Zc*cd;
         if(abs(n-K/2)<2)printf("%3d %6.3f %9.6f %9.6f %9.6f %9.6f\n",n,y,Re(F[n]),Im(F[n]),Re(c),Im(c));
         E[n]=log(c)/a; F[n]=c; G[n]=exp(c*a);}
}
DO(j,440){k=K/2+j-220; y=GLx[k]*A; u=Re(F[k]);if(j==0)M(y,u)else L(y,u)}
DO(j,440){k=K/2+j-220; y=GLx[k]*A; u=Im(F[k]);if(j==0)M(y,u)else L(y,u)}
//DO(k,K){y=GLx[k]*A; u=Re(F[k]);if(k==0)M(y,u)else L(y,u)} fprintf(o,".01 W 0 0 0 RGB S\n");
//DO(k,K){y=GLx[k]*A; u=Im(F[k]);if(k==0)M(y,u)else L(y,u)}
fprintf(o,".01 W 0 0 0 RGB S\n");

fprintf(o,"showpage\n\%c%cTrailer",'%','%'); fclose(o);
system("epstopdf TetSheldonIma.eps");
system( "open TetSheldonIma.pdf");

DO(j,40)
{
for(n=0;n<K;n+=2)
        { y=GLx[n]*A; z=z_type(0.,y); c=0.; //printf(" %3d",n);
         DO(k,K){t=A*GLx[k]; c+= GLw[k]*( G[k]/(z_type( 1.,t)-z) - E[k]/(z_type(-1.,t)-z) );}
         cu=.5-I/(2.*M_PI)*log( (z_type(1.,-A)+z)/(z_type(1., A)-z) );
         cd=.5-I/(2.*M_PI)*log( (z_type(1.,-A)-z)/(z_type(1., A)+z) );
         c=c*(A/(2.*M_PI)) +Zo*cu+Zc*cd;
         if(abs(n-K/2)<2)printf("%3d %6.3f %9.6f %9.6f %9.6f %9.6f\n",n,y,Re(F[n]),Im(F[n]),Re(c),Im(c));
         E[n]=log(c)/a; F[n]=c; G[n]=exp(c*a); }
for(n=K-1;n>0;n-=2)
        { y=GLx[n]*A; z=z_type(0.,y); c=0.; //printf(" %3d",n);
         DO(k,K){t=A*GLx[k]; c+= GLw[k]*( G[k]/(z_type( 1.,t)-z) - E[k]/(z_type(-1.,t)-z) );}
         cu=.5-I/(2.*M_PI)*log( (z_type(1.,-A)+z)/(z_type(1., A)-z) );
         cd=.5-I/(2.*M_PI)*log( (z_type(1.,-A)-z)/(z_type(1., A)+z) );
         c=c*(A/(2.*M_PI)) +Zo*cu+Zc*cd;
         if(abs(n-K/2)<2)printf("%3d %6.3f %9.6f %9.6f %9.6f %9.6f\n",n,y,Re(F[n]),Im(F[n]),Re(c),Im(c));
         E[n]=log(c)/a; F[n]=c; G[n]=exp(c*a);}
printf("%3d %19.16lf %19.16lf %19.16lf %19.16lf\n",j,Re(F[1023]),Im(F[1023]),Re(F[1024]),Im(F[1024]) );
}

o=fopen("TetSheldonIma.inc","w");
fprintf(o,"z_type F[%4d]={\n",K);
DO(k,K-1) fprintf(o,"z_type(%19.16lf,%19.16lf),\n",Re(F[k]),Im(F[k]));
          fprintf(o,"z_type(%19.16lf,%19.16lf)};\n",Re(F[K-1]),Im(F[K-1]));
fclose(o);

}

C++ generator of curves

//File TetSheldonIma.inc should be loaded to the working directory or generated with the code above.

// In addition, files ado.cin,conto.cin, filog.cin, GLxw2048.inc

// should be loaded to the working directory in order to compile the code below


 #include <math.h>
 #include <stdio.h>
 #include <stdlib.h>
 #define DB double
 #define DO(x,y) for(x=0;x<y;x++)
 using namespace std;
 #include <complex>
 typedef complex<double> z_type;
 #define Re(x) x.real()
 #define Im(x) x.imag()
 #define I z_type(0.,1.)
 #include "conto.cin"
 #include "filog.cin"

z_type b=z_type( 1.5259833851700000, 0.0178411853321000);
z_type a=log(b);
z_type Zo=Filog(a);
z_type Zc=conj(Filog(conj(a)));
DB A=32.;

z_type tetb(z_type z){ int k; DB t; z_type c, cu,cd;
#include "GLxw2048.inc"
int K=2048;
//#include "ima6.inc"
#include "TetSheldonIma.inc"
z_type E[2048],G[2048];
DO(k,K){c=F[k]; E[k]=log(c)/a; G[k]=exp(a*c);}
c=0.;
z+=z_type(0.1196573712872846, 0.1299776198056910);
DO(k,K){t=A*GLx[k];c+=GLw[k]*(G[k]/(z_type( 1.,t)-z)-E[k]/(z_type(-1.,t)-z));}
 cu=.5-I/(2.*M_PI)*log( (z_type(1.,-A)+z)/(z_type(1., A)-z) );
 cd=.5-I/(2.*M_PI)*log( (z_type(1.,-A)-z)/(z_type(1., A)+z) );
 c=c*(A/(2.*M_PI)) +Zo*cu+Zc*cd;
 return c;}

int main(){ int j,k,m,m1,n; DB x,y, p,q, t; z_type z,c,d;
 //int M=161,M1=M+1;
 int M=601,M1=M+1;
 int N=461,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("tetsheldonmap.eps","w");ado(o,602,202);
 fprintf(o,"301 101 translate\n 10 10 scale\n");
 DO(m,M1)X[m]=-30.+.1*(m);
 DO(n,200)Y[n]=-10.+.05*n;
         Y[200]=-.01;
         Y[201]= .01;
 for(n=202;n<N1;n++) Y[n]=-10.+.05*(n-1.);
 for(m=-30;m<31;m++){if(m==0){M(m,-10.2)L(m,10.2)} else{M(m,-10)L(m,10)}}
 for(n=-10;n<11;n++){ M( -30,n)L(30,n)}
 fprintf(o,".008 W 0 0 0 RGB S\n");
 DO(m,M1)DO(n,N1){g[m*N1+n]=9999; f[m*N1+n]=9999;}

 DO(n,N1){y=Y[n];
          for(m=295;m<305;m++)
          {x=X[m]; //printf("%5.2f\n",x);
           z=z_type(x,y);
           c=tetb(z);
           p=Re(c);q=Im(c);
           if(p>-99. && p<99. && q>-99. && q<99. ){ g[m*N1+n]=p;f[m*N1+n]=q;}
           d=c;
           for(k=1;k<31;k++)
                { m1=m+k*10; if(m1>M) break;
                d=exp(a*d);
                p=Re(d);q=Im(d);
                if(p>-99. && p<99. && q>-99. && q<99. ){ g[m1*N1+n]=p;f[m1*N1+n]=q;}
                }
           d=c;
           for(k=1;k<31;k++)
                { m1=m-k*10; if(m1<0) break;
                d=log(d)/a;
                p=Re(d);q=Im(d);
                if(p>-99. && p<99. && q>-99. && q<99. ){ g[m1*N1+n]=p;f[m1*N1+n]=q;}
                }
        }}

 fprintf(o,"1 setlinejoin 2 setlinecap\n"); p=1;q=.5;
 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,".02 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,".02 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,".02 W 0 0 .9 RGB S\n");
 for(m=1;m<10;m++) conto(o,f,w,v,X,Y,M,N, (0.-m),-p,p); fprintf(o,".08 W .9 0 0 RGB S\n");
 for(m=1;m<10;m++) conto(o,f,w,v,X,Y,M,N, (0.+m),-p,p); fprintf(o,".08 W 0 0 .9 RGB S\n");
                    conto(o,f,w,v,X,Y,M,N, (0. ),-p,p); fprintf(o,".08 W .6 0 .6 RGB S\n");
 for(m=-9;m<10;m++) conto(o,g,w,v,X,Y,M,N, (0.+m),-p,p); fprintf(o,".08 W 0 0 0 RGB S\n");
// y= 0; for(m=0;m<260;m+=6) {x=-2.-.1*m; M(x,y) L(x-.1,y)}
// fprintf(o,".07 W 1 .5 0 RGB S\n");
// y= 0; for(m=3;m<260;m+=6) {x=-2-.1*m; M(x,y) L(x-.1,y)}
// fprintf(o,".07 W 0 .5 1 RGB S\n");
 fprintf(o,"showpage\n%c%cTrailer",'%','%'); fclose(o);
        system("epstopdf tetsheldonmap.eps");
        system( "open tetsheldonmap.pdf");
        getchar(); system("killall Preview");
 }

Latex generator of labels


\documentclass[12pt]{article}
\paperwidth 618pt
\paperheight 214pt
\textwidth 1060pt
\textheight 500pt
\topmargin -108pt
\oddsidemargin -70pt
\pagestyle{empty}
\usepackage[usenames]{color}
\usepackage[utf8x]{inputenc}
\usepackage{hyperref}
\usepackage{graphicx}
\usepackage{rotating}
\newcommand \sx {\scalebox}
\newcommand \ing {\includegraphics}
\newcommand \rme {\mathrm{e}}
\newcommand \rot {\begin{rotate}}
\newcommand \ero {\end{rotate}}
\begin{document}
\parindent 0pt
\begin{picture}(202,211)
\put(10,10){\ing{tetsheldonmap}}
\put(2,206){$y$}
\put(2,188){$8$}
\put(2,168){$6$}
\put(2,148){$4$}
\put(2,128){$2$}
\put(2,108){$0$}
\put(-6,88){$-2$}
\put(-6,68){$-4$}
\put(-6,48){$-6$}
\put(-6,28){$-8$}
%\put(0,8){-10}\put(261,0){$-4$}
\put(-1,0){$-30$}
\put( 49,0){$-25$}
\put( 99,0){$-20$}
\put(149,0){$-15$}
\put(199,0){$-10$}
%\put(222,0){$-8$}
%\put(242,0){$-6$}
\put(252,0){$-5$}
%\put(262,0){$-4$}
%\put(282,0){$-2$}
\put(309,0){$0$}
\put(329,0){$2$}
\put(349,0){$4$}
\put(369,0){$6$}
\put(389,0){$8$}
\put(407,0){$10$}
\put(457,0){$15$}
\put(507,0){$20$}
\put(557,0){$25$}
\put(607,1){$x$}
\multiput(24,180)(118,-1){5}{$v\!=\!1.2$}
\multiput(70,180)(118,-1){5}{$u\!=\!2$}
\multiput(112,158)(118,-1){5}{\rot{-50}$v\!=\!1$\ero}
\multiput(102,142)(118,-1){5}{\rot{-35}$v\!=\!0.8$\ero}
\put(336,107){\rot{-11}$v\!=\!0$\ero}
\multiput(206, 92)(119,-22){4}{$v\!=\!-1$}
\multiput(70, 84)(119,-22){4}{$u\!=\!1.2$}
\multiput(110, 76)(119,-22){4}{$v\!=\!-1.4$}
\put(470,200){$u+\mathrm i v \approx 2.0565+1.1445 \,\mathrm i$}
\put(30,20){$u+\mathrm i v \approx 2.2284-1.3508 \,\mathrm i$}
\end{picture}
\end{document}

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current06:14, 1 December 2018Thumbnail for version as of 06:14, 1 December 20185,130 × 1,776 (1.02 MB)Maintenance script (talk | contribs)Importing image file
  • You cannot overwrite this file.

There are no pages that link to this file.

Metadata