File:E1efig09abc1a150.png

From TORI
Revision as of 08:34, 1 December 2018 by Maintenance script (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Original file(2,234 × 711 pixels, file size: 883 KB, MIME type: image/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 [1].

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


 #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;

// #include <complex.h>
// #define z_type complex<double>
 #define Re(x) x.real()
 #define Im(x) x.imag()
 #define I z_type(0.,1.)
 #include "conto.cin"
//DB T22=-8.5715740896774235522;
//DB T42= 9.6180745210214273558;
//#include "f21E.cin"
//#include "e1etf.cin"
#include "f15.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;;
#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 second map


C++ generator of third map, $b\!=\!\sqrt{2}\!\approx\!1.41$

Files required: ado.cin, conto.cin, sqrt2f21e.cin


 #include <math.h>
 #include <stdio.h>
 #include <stdlib.h>
 #define DB double
 #define DO(x,y) for(x=0;x<y;x++)
#include<complex>
typedef std::complex<double> z_type;

 #define Re(x) x.real()
 #define Im(x) x.imag()
 #define I z_type(0.,1.)
 #include "conto.cin"
DB T22=-8.5715740896774235522;
DB T42= 9.6180745210214273558;
//#include "f21E.cin"
#include "sqrt2f21e.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;;
#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
}

Latex generator of labels


References

  1. http://tori.ils.uec.ac.jp/PAPERS/2011e1e.pdf H.Trappmann, D.Kouznetsov. Computation of the Two Regular Super-Exponentials to base exp(1/e). (Mathematics of Computation, 2011, in press)

File history

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

Date/TimeThumbnailDimensionsUserComment
current17:50, 20 June 2013Thumbnail for version as of 17:50, 20 June 20132,234 × 711 (883 KB)Maintenance script (talk | contribs)Importing image file

The following page uses this file:

Metadata