Revision as of 08:46, 1 December 2018 by Maintenance script (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Original file(2,350 × 2,311 pixels, file size: 1.56 MB, MIME type: image/jpeg)

Complex map of natural pentation,

$u\!+\!\mathrm i v=\mathrm{pen}(x\!+\! \mathrm i y)$ in the $x,y$ plane.

This image is used as figure 10.4 of the book Суперфункции (In Russian) [1].

Also, this image is used as figure 6 of article Evaluation of holomorphic ackermanns [2].

Soom–in of this map is loaded as


C++ generator of curves

Files ado.cin, conto.cin, fsexp.cin, fslog.cin 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++)
#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"
 #include "fsexp.cin"
 #include "fslog.cin"

z_type pen0(z_type z){
DB Lp=-1.8503545290271812;
DB k,a,b;
// k=1.86573322821; a=-.62632418; b=0.4827;
        k=1.86573322821; a=-.6263241; b=0.4827;

z_type e=exp(k*z);
return Lp + e*(1.+e*(a+b*e));

z_type pen7(z_type z){ DB x; int m,n; z=pen0(z+(2.24817451898-7.));
DO(n,7) { if(Re(z)>8.) return 999.; z=FSEXP(z); if(abs(z)<40) goto L1; return 999.; L1: ;}
return z; }

z_type pen(z_type z){ DB x; int m,n;
x=Re(z); if(x<= -4.) return pen0(z);
DO(n,m) z=FSEXP(z);
return z;

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=801,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("penma.eps","w"); ado(o,828,828);
 fprintf(o,"422 420 translate\n 100 100 scale\n");
 DO(m,M1) X[m]=-4.+.02*(m-.5);
 DO(n,N1) Y[n]=-4.+.01*(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,"2 setlinecap .004 W 0 0 0 RGB S\n");

 DO(m,M1)DO(n,N1){ g[m*N1+n]=9999;
 DO(n,N1){y=Y[n]; z=z_type(x,y);
// c=pen0(z);
// c=FSEXP(pen0(z-1.));
// c=FSEXP(FSEXP(pen0(z-2.)));
// d=FSEXP(pen(z-1.));
// p=abs((c-d)/(c+d)); p=-log(p)/log(10.);
        p=Re(c); q=Im(c);
        if(p>-9999 && p<9999 && fabs(p)>1.e-11) g[m*N1+n]=p;
        if(q>-9999 && q<9999 && fabs(q)>1.e-11) f[m*N1+n]=q;
// #include "plofu.cin"

fprintf(o,"1 setlinejoin 2 setlinecap\n");

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

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

DB t2=M_PI/1.86573322821;
DB tx=-2.32;

fprintf(o,"0 setlinecap .03 W 1 1 1 RGB S\n");
DO(n,64){ x=tx+.1*n; M(x,t2) L(x+.04,t2) }
DO(n,64){ x=tx+.1*n; M(x,-t2) L(x+.04,-t2) }
fprintf(o,"0 setlinecap .04 W 0 0 0 RGB S\n");

//conto(o,g,w,v,X,Y,M,N, ( 1. ),-99,99); fprintf(o,".12 W 1 .5 0 RGB S\n");

fprintf(o,"showpage\n%c%cTrailer",'%','%'); fclose(o);

printf("pen7(-1)=%18.14f\n", Re(pen7(-1.)));
printf("Pi/1.86573322821=%18.14f\n", M_PI/1.86573322821);

        system("epstopdf penma.eps");
        system( "open penma.pdf");

Latex generator of labelw

\paperheight 832px
\paperwidth 846px
\textwidth 1394px
\textheight 1300px
\topmargin -104px
\oddsidemargin -80px
\newcommand \sx {\scalebox}
\newcommand \rot {\begin{rotate}}
\newcommand \ero {\end{rotate}}
\newcommand \ing {\includegraphics}
\newcommand \rmi {\mathrm{i}}
\put(50, 747){\sx{4}{$v\!=\!0$}}
\put(50, 578){\sx{4}{$v\!=\!0$}} \put(760, 580){\sx{4}{\bf cut}}
\put(50, 409){\sx{4}{$v\!=\!0$}}%
\put(50, 240){\sx{4}{$v\!=\!0$}} \put(760, 241){\sx{4}{\bf cut}}
\put(50, 71){\sx{4}{$v\!=\!0$}}
\put(326, 638){\sx{4}{$v\!=\!-1$}}
\put(340, 520){\sx{4}{$v\!=\!1$}}
\put(326, 298){\sx{4}{$v\!=\!-1$}}
\put(336, 182){\sx{4}{$v\!=\!1$}}
\put(250, 352){\sx{4}{\rot{90}$u\!=\!-1$\ero}}
\put(348, 362){\sx{4}{\rot{90}$u\!=\!0$\ero}}
\put(448, 372){\sx{4}{\rot{90}$u\!=\!1$\ero}}
\put(522, 372){\sx{4}{\rot{90}$u\!=\!2$\ero}}

File history

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

current06:13, 1 December 2018Thumbnail for version as of 06:13, 1 December 20182,350 × 2,311 (1.56 MB)Maintenance script (talk | contribs)Importing image file
  • You cannot overwrite this file.

The following 2 pages link to this file: