File:Susinmap.jpg

Complex map of function SuSin;

$u+\mathrm i = \mathrm{SuSin}(x\!+\!\mathrm i y)$

SuSin is superfunction of sin;

$\mathrm{SuSin}(z\!+\!1)= \sin(\mathrm{SuSin}(z))$

$\mathrm{SuSin}(1)=1$

At large $|z|$,

$\displaystyle \mathrm{SuSin}(z)= \sqrt{\frac{3}{z}} \left(1 + O\left(\frac{1}{z}\right) \right)$

Implementation of SuSin in the code below is not a final tool, because of low precision, it returns of order of 6 significant figures. This accuracy allows to plot the camera–ready figures, but for some applications, the precision may be not sufficient.

C++ generator of curves
// files ado.cin, conto.cin, arcsin.cin, and susin.cin should be loaded to the working directory in order to compile the code below. using namespace std; typedef complex z_type;
 * 1) include 
 * 2) include 
 * 3) include 
 * 4) define DB double
 * 5) define DO(x,y) for(x=0;x<y;x++)
 * 1) include
 * 1) define Re(x) x.real
 * 2) define Im(x) x.imag
 * 3) define I z_type(0.,1.)
 * 4) include "conto.cin"
 * 5) include "arcsin.cin"
 * 6) include"susin.cin"

int main{ int j,k,m,n; DB x,y, p,q, t; z_type z,c,d; DB e; DB x0=.0; DO(n,14) { e=Re( susin(x0+z_type(1.,1.e-9)) )-1.;  x0+= 4.6*e;  printf("%2d %19.16f %19.16f\n",n,x0,e); } int M=1001,M1=M+1; int N=1001,N1=N+1; DB X[M1],Y[N1]; DB *g, *f, *w; // w is working array. g=(DB *)malloc((size_t)((M1*N1)*sizeof(DB))); f=(DB *)malloc((size_t)((M1*N1)*sizeof(DB))); w=(DB *)malloc((size_t)((M1*N1)*sizeof(DB))); char v[M1*N1]; // v is working array FILE *o;o=fopen("susinmap.eps","w"); ado(o,2002,2002); fprintf(o,"1001 1001 translate\n 100 100 scale\n"); fprintf(o,"1 setlinejoin 2 setlinecap\n"); e=10./sinh(1.); DO(m,M1) { t=(m-500.5)/500.; X[m]=e*sinh(1.*t);} e=10./sinh(3.); DO(n,N1) { t=(n-500.5)/500.; Y[n]=e*sinh(3.*t);} for(m=-10;m<11;m+=1){M(m,-10) L(m,10) } for(n=-10;n<11;n+=1){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]=999; f[m*N1+n]=999;} DO(m,M1){x=X[m]; if(m/10*10==m) printf("x=%6.3f\n",x); DO(n,N1){y=Y[n]; z=z_type(x,y); //if(abs(z+2.)>.019) c=susin(z); //  c=susin0(z+1.4304553465285); // p=abs(c-d)/(abs(c)+abs(d)); p=-log(p)/log(10.); if(p>0 && p<17) g[m*N1+n]=p; p=Re(c); q=Im(c); if(p>-19 && p<19 && q>-19 && y<19){ g[m*N1+n]=p;f[m*N1+n]=q;} }} fprintf(o,"1 setlinejoin 2 setlinecap\n"); p=.06;q=.06; /* p=1.; conto(o,g,w,v,X,Y,M,N,(15.3 ),-p,p); fprintf(o,".1 W .4 1 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,(15. ),-p,p); fprintf(o,".2 W 1 0 1 RGB S\n"); conto(o,g,w,v,X,Y,M,N,(14.7 ),-p,p); fprintf(o,".1 W 1 .5 0 RGB S\n");

conto(o,g,w,v,X,Y,M,N,(14. ),-p,p); fprintf(o,"2 W .2 .2 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,(13. ),-p,p); fprintf(o,"2 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,(12. ),-p,p); fprintf(o,"6 W 0 0 1 RGB S\n"); conto(o,g,w,v,X,Y,M,N,(11. ),-p,p); fprintf(o,"2 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,(10. ),-p,p); fprintf(o,"2 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N, (9. ),-p,p); fprintf(o,"6 W 0 1 1 RGB S\n"); conto(o,g,w,v,X,Y,M,N, (8. ),-p,p); fprintf(o,"2 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N, (7. ),-p,p); fprintf(o,"2 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N, (6. ),-p,p); fprintf(o,"6 W 0 .5 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N, (5. ),-p,p); fprintf(o,"2 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N, (4. ),-p,p); fprintf(o,"2 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N, (3. ),-p,p); fprintf(o,"6 W 1 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N, (2. ),-p,p); fprintf(o,"2 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N, (1. ),-p,p); fprintf(o,"4 W .5 0 0 RGB S\n"); for(m=-8;m<8;m++)for(n=1;n<10;n+=1)conto(o,f,w,v,X,Y,M,N,(m+.1*n),-q,q);fprintf(o,".016 W 0 .6 0 RGB S\n"); for(m=0;m<8;m++) for(n=1;n<10;n+=1)conto(o,g,w,v,X,Y,M,N,-(m+.1*n),-q,q);fprintf(o,".016 W .9 0 0 RGB S\n"); for(m=0;m<8;m++) for(n=1;n<10;n+=1)conto(o,g,w,v,X,Y,M,N, (m+.1*n),-q,q);fprintf(o,".016 W 0 0 .9 RGB S\n"); for(m= 1;m<17;m++) conto(o,f,w,v,X,Y,M,N, (0.-m),-p,p);fprintf(o,".03 W .8 0 0 RGB S\n"); for(m= 1;m<17;m++) conto(o,f,w,v,X,Y,M,N, (0.+m),-p,p);fprintf(o,".03 W 0 0 .8 RGB S\n"); conto(o,f,w,v,X,Y,M,N, (0. ),-p,p); fprintf(o,".03 W .5 0 .5 RGB S\n"); for(m=-16;m<17;m++)conto(o,g,w,v,X,Y,M,N,(0.+m),-p,p);fprintf(o,".03 W 0 0 0 RGB S\n"); fprintf(o,"0 setlinejoin 0 setlinecap\n"); //M(-10,-1.4304553465285)L(0,0) fprintf(o,"1 1 1 RGB .01 W S\n"); //DO(n,45) {x=-1.4304553465285-.2*n; M(x-.01,0) L(x-.09,0) }  fprintf(o,"0 0 0 RGB .03 W S\n"); M(-10,0)L(0,0) fprintf(o,"1 1 1 RGB .01 W S\n"); DO(n,51) {x=-.2*n; M(x-.01,0) L(x-.09,0) }  fprintf(o,"0 0 0 RGB .03 W S\n"); //#include "plofu.cin"

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

Latex generator of labels
% save this as susinmapt.tex \documentclass[12pt]{article} \usepackage{geometry} \usepackage{graphics} \usepackage{rotating} \paperwidth 2078pt \paperheight 2064pt \topmargin -100pt \oddsidemargin -72pt \textwidth 2200pt \textheight 2200pt \newcommand \sx {\scalebox} \newcommand \rot {\begin{rotate}} \newcommand \ero {\end{rotate}} \pagestyle{empty} \begin{document} \begin{picture}(2016,2044) \put(48,40){\includegraphics{susinmap}} \put(4,2018){\sx{5.4}{$y$}} \put(4,1824){\sx{5}{$8$}} \put(4,1624){\sx{5}{$6$}} \put(4,1424){\sx{5}{$4$}} \put(4,1224){\sx{5}{$2$}} \put(4,1024){\sx{5}{$0$}} \put(-28,824){\sx{5}{$-2$}} \put(-28,624){\sx{5}{$-4$}} \put(-28,424){\sx{5}{$-6$}} \put(-28,224){\sx{5}{$-8$}} \put(-8,-9){\sx{5}{$-10$}} \put(200,-8){\sx{5}{$-8$}} \put(400,-8){\sx{5}{$-6$}} \put(600,-8){\sx{5}{$-4$}} \put(800,-8){\sx{5}{$-2$}} \put(1040,-8){\sx{5}{$0$}} \put(1241,-8){\sx{5}{$2$}} \put(1442,-8){\sx{5}{$4$}} \put(1643,-8){\sx{5}{$6$}} \put(1843,-8){\sx{5}{$8$}} \put(2028,-8){\sx{5.2}{$x$}}

\put(1436,930){\sx{7}{\rot{89}$u\!=\!0.7$\ero}} \put(1640,930){\sx{7}{\rot{89}$u\!=\!0.6$\ero}} \put(1980,930){\sx{7}{\rot{89}$u\!=\!0.5$\ero}}

\put(1520,1660){\sx{7}{\rot{68}$v\!=\!-0.2$\ero}} \put(1790,1406){\sx{7}{\rot{36}$v\!=\!-0.1$\ero}}

\put(250,1030){\sx{5.2}{\bf cut}}

\put(928,1148){\sx{7}{\rot{0.}$u\!=\!1$\ero}} \put(668,1080){\sx{7}{\rot{0.}$v\!=\!-1$\ero}} \put(688,960){\sx{7}{\rot{0.}$v\!=\!1$\ero}}

\put(1680,1024){\sx{7}{$v\!=\!0$}} \put(1740,664){\sx{7}{\rot{-35}$v\!=\!0.1$\ero}} \put(1478,418){\sx{7}{\rot{-68}$v\!=\!0.2$\ero}} \end{picture} \end{document}