File:SuZex0map48small.png

Complex map of the truncated Taylor expansion of function SuZex at zero; polynomial $P_{48}$ is plotted, $u\!+\!\mathrm i v= P_{48}(x\!+\!\mathrm i y)$;

$\displaystyle \mathrm{SuZex}(z) \approx P_{48}(z)=\sum_{n=0}^{48} \,c_n\, z^n$

Coefficients $c$ are calculated with Mathematica, from the asymptotic expansion at large $-z$, condition $~\mathrm{SuZex}(0)\!=\!1~$ and the transfer equation $\mathrm{SuZex}(z\!+\!1)=\mathrm{zex}\Big(\mathrm{SuZex}(z)\Big)$ are used; zex$(z)= z\exp(z)$.

Formally, function SuZex is entire, and the Taylor series converges at any $z$; the range of approximation increase increasing number of terms taken into account. Practically, due to the fast growth of SuZex, the expansion can be used only while $|z|\!<\!2$. This is sufficient for the evaluation of the function along the real axis. For other values of $z$, other approximations are more efficient.

Generator of curves
using namespace std; typedef complex z_type; //#include "fsexp.cin" //#include "fslog.cin"
 * 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"

// SuZex.cin below is the C++ implementation of function SuZex // which is superfunction for the transfer function T(z)=zex(z)= x exp(z) // Copyleft 2012 by Dmitrii Kouznetsov; I hope, files // SuZexCoef20.cin, SuZexTay2008co.cin, SuZexTay0co.cin // are already loaded to the working directory

z_type zex(z_type z) { return z*exp(z);}

z_type suzexo(z_type z){ int n,m; z_type L=log(-z); z_type c[20]; z_type s; c[0]=-1.; c[1]=.5*L; for(n=2;n<21;n++){ s=a[n][n]; for(m=n-1; m>=0; m--){ s*=L; s+=a[n][m]; } c[n]=s; } s=c[20]/z; for(n=19;n>=0;n--){ s+=c[n]; s/=z;} return s; }
 * 1) include "SuZexCoef20.cin"

z_type suzex2008t12(z_type z){ int n,m=80; z_type s; #include "SuZexTay2008co.cin" s=c[m]; for(n=m-1;n>=0;n--){ s*=z; s+=c[n];} return s;}

// z_type SuZexTay0(z_type z){ int n,m=96; z_type s; z_type SuZexTay0(z_type z){ int n,m=48; z_type s;  #include "SuZexTay0co.cin" s=SuZexTay0co[m]; for(n=m-1;n>=0;n--){ s*=z; s+=SuZexTay0co[n];} return s;}

z_type suzex(z_type z){int m,n; z_type s; if( abs(z) < 1.6 )                  return SuZexTay0(z) ; // I made the Taylor expansion for this case if( Re(z)>0 && fabs(Im(z))<1.5){n=int(Re(z)+.5); s=SuZexTay0(z-(0.+n)); DO(m,n) s=zex(s); return s;} z+=-1.1259817765745026;    // WARNING! ARGUEMENT CHANGES ITS VALUE! if( abs(z+12.) < 8.1 )              return suzex2008t12(z+12.) ; // I made the Taylor expansion for this case if( Re(z)<-12. || fabs(Im(z)) > 8. ) return suzexo(z); // definitely, |z|>8 n= int(Re(z)+12.); s=suzex2008t12(z+12.-(0.+n)); DO(m,n) s=zex(s); return s; } // Copyleft 2012 by Dmitrii Kouznetsov // //

//The procedures above can be loaded also as SuZex.cin // #include "SuZex.cin"

main{ int j,k,m,n; DB x,y, p,q, t; z_type z,c,d, cu,cd; //DB x1=-1.1259817765745026; DO(n,8){ y=Re(suzex(x1)); x=y-1.; x1+=-1.2*x; printf("%18.16f %18.16f\n", x1,y);} getchar; int M=560,M1=M+1; int N=560,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("SuZexTay0map48small.eps","w"); ado(o,602,602); fprintf(o,"301 301 translate\n 100 100 scale\n"); fprintf(o,"1 setlinejoin 2 setlinecap\n"); DO(m,M1) X[m]=-2.8+.01*(m-.5); DO(n,N1) Y[n]=-2.8+.01*(n-.5); //for(n=0;n.019) //c=suzex(z); c=SuZexTay0(z); ////c=suzex2008t12(z+(12.-1.1259817765745026)); // c=suzexo(z-1.1259817765745026); // d=zex(suzex2008(z-1.)); //d =suzexo(z); //d=zex(suzexo(z-1.)); // 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 && ( x<2. || fabs(q)>1.e-12 && fabs(p)>1.e-12) ){ g[m*N1+n]=p;f[m*N1+n]=q;} }} fprintf(o,"1 setlinejoin 1 setlinecap\n"); p=.8;q=.16; /* conto(o,g,w,v,X,Y,M,N, (1. ),-p,p); fprintf(o,".02 W .5 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N, (2. ),-p,p); fprintf(o,".02 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N, (3. ),-p,p); fprintf(o,".04 W 0 1 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N, (4. ),-p,p); fprintf(o,".02 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N, (5. ),-p,p); fprintf(o,".02 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N, (6. ),-p,p); fprintf(o,".04 W 0 1 1 RGB S\n"); conto(o,g,w,v,X,Y,M,N, (7. ),-p,p); fprintf(o,".02 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N, (8. ),-p,p); fprintf(o,".02 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N, (9. ),-p,p); fprintf(o,".04 W 0 0 1 RGB S\n"); conto(o,g,w,v,X,Y,M,N,(10. ),-p,p); fprintf(o,".02 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,(11. ),-p,p); fprintf(o,".02 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,(12. ),-p,p); fprintf(o,".04 W 1 0 1 RGB S\n"); conto(o,g,w,v,X,Y,M,N,(13. ),-p,p); fprintf(o,".02 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,(14. ),-p,p); fprintf(o,".02 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,(15. ),-3,3); fprintf(o,".04 W 0 .4 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,".007 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,".007 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,".007 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,".02 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,".02 W 0 0 .8 RGB S\n"); conto(o,f,w,v,X,Y,M,N, (0. ),-2*p,2*p); fprintf(o,".02 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,".02 W 0 0 0 RGB S\n");

// fprintf(o,"-12 0 8 10 350 arc 1 .3 0 RGB .06 W S\n");

//#include "plofu.cin" // fprintf(o,"0 setlinejoin 0 setlinecap\n"); fprintf(o,"showpage\n"); fprintf(o,"%c%cTrailer\n",'%','%'); fclose(o); free(f); free(g); free(w); system("epstopdf SuZexTay0map48small.eps"); system(   "open SuZexTay0map48small.pdf"); //for macintosh getchar; system("killall Preview"); // For macintosh }

Latex generator of labels
% % \documentclass[12pt]{article} % \paperwidth 590px % \paperheight 590px % \textwidth 2394px % \textheight 2300px % \topmargin -110px % \oddsidemargin -78px % \usepackage{graphics} % \usepackage{rotating} % \newcommand \sx {\scalebox} % \newcommand \rot {\begin{rotate}} % \newcommand \ero {\end{rotate}} % \newcommand \ing {\includegraphics} % \newcommand \rmi {\mathrm{i}} % \parindent 0pt \pagestyle{empty} \begin{document} % \newcommand \zoomax { % \put(20,580){\sx{3}{$y$}} % \put(20,490){\sx{3}{$2$}} % \put(20,390){\sx{3}{$1$}} % \put(20,290){\sx{3}{$0$}} % \put(-1,190){\sx{3}{$-\!1$}} % \put(-1, 90){\sx{3}{$-\!2$}} % \put(76, 20){\sx{3}{$-\!2$}} % \put(176, 20){\sx{3}{$-\!1$}} % \put(294, 20){\sx{3}{$0$}} % \put(395, 20){\sx{3}{$1$}} % \put(495, 20){\sx{3}{$2$}} % \put(575, 22){\sx{3}{$x$}} % } % \parindent 0pt % \sx{1}{\begin{picture}(600,600) % %\put(40,20){\ing{b271tMap3}} % %\put(40,20){\ing{ExpMap}} % \put(0,0){\ing{SuZexTay0map48small}} % \zoomax % \put(160,406){\sx{2.4}{\rot{38}$u\!=\!0.4$\ero}} % \put(198,373){\sx{2.4}{\rot{42}$u\!=\!0.5$\ero}} % \put(227,350){\sx{2.4}{\rot{46}$u\!=\!0.6$\ero}} % \put(249,331){\sx{2.4}{\rot{50}$u\!=\!0.7$\ero}} % \put(128,363){\sx{2.4}{\rot{-21}$v\!=\!0.1$\ero}} % \put(125,294){\sx{2.8}{$v\!=\!0$}} % \put(129,226){\sx{2.4}{\rot{21}$v\!=\!-0.1$\ero}} % \put(158,162){\sx{2.4}{\rot{43}$v\!=\!-0.2$\ero}} % \end{picture}} % \end{document} %