File:Aunem11mbp.jpg

Complex map of the Abel function for the Nemtsov function at $p\!=\!1$, $q\!=\!1$ :

$u\!+\!\mathrm i v=\mathrm{AuNem}_{1,1}(x\!+\!\mathrm i y)$

C++ generator of map
Files ado.cin, conto.cin, sunem.cin, nemtsovdpq40.txt, nemtsova18pq.txt, should be loaded in order to compile the code below.

//using namespace std; typedef std::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"

DB NEMTSOVp; DB NEMTSOVq; int NEMTSOVM=18; DB APQ[18][9]; DB Xunity = 0.66402958486808; DB AUNEo =0.; DB NEMTSOVR; // Re(s) such that nemtsov'(s)=0 DB NEMTSOVI; // Im(s) such that nemtsov'(s)=0 DB NEMTSOVr; // should be assigned by memsingu DB NEMTSOVi; // should be assigned by memsingu DB ARCNEMVER=-0.2;

z_type T(z_type z){ return z*(1. + z*z*(NEMTSOVp+z*NEMTSOVq)); } // should be suppressed z_type nem(z_type z){ return z + z*z*z*(NEMTSOVp+z*NEMTSOVq); } //new z_type nempq(z_type z){ return z + z*z*z*(NEMTSOVp+z*NEMTSOVq); } //new z_type nem1(z_type z){ return 1. + z*z*(NEMTSOVp*3.+z*(NEMTSOVq*4.)); } //new z_type nempq1(z_type z){ return 1. + z*z*(NEMTSOVp*3.+z*(NEMTSOVq*4.)); } //new


 * 1) include "sunem.cin"

DB DPQ[41];

z_type aune(z_type z){ z_type c,s; int M; int n;       DB p=NEMTSOVp; DB q=NEMTSOVq; //     c=((-.5/NEMTSOVp)/z + q/(p*p))/z +(3/2 + q^2/p^3)*log(z); c=((-.5/NEMTSOVp)/z + q/(p*p))/z +(1.5 + q*q/(p*p*p))*log(z); //M=18; M=41; s=DPQ[M-1]*z; for(n=M-2;n>0;n--) { s+=DPQ[n]; s*=z;} return c+s+DPQ[0]; }

z_type arcnemaa(z_type z){ z_type p=NEMTSOVp; // WARNING: global variable z_type q=NEMTSOVq; // WARNING: global variable z_type P=p+4.*q*z; z_type PP=P*P; z_type PPP=PP*P; z_type Q=q-p*p*z; z_type QQ=Q*Q; z_type r=729.*QQ + 108.*PPP; z_type R=sqrt(r); //     z_type R=-I*sqrt(-r); z_type s3=27.*q - 27.*p*p*z + R; z_type s=pow(s3,1./3.); z_type B0=pow(2.,1./3.)*P/(q*s); z_type B1=pow(54.,-1./3.)*s/q ; z_type B=B1-B0; z_type c=0.25*p*p/(q*q)+B; z_type C=sqrt(c); //     z_type C=I*sqrt(-c); return -.25*p/q - .5*C + .5*sqrt( 0.5*p*p/(q*q) - B + (.25*p*p*p+2.*q*q)/(q*q*q*C) ) ; }

z_type arcnemba(z_type z){ z_type p=NEMTSOVp; // WARNING: global variable z_type q=NEMTSOVq; // WARNING: global variable z_type P=p+4.*q*z; z_type PP=P*P; z_type PPP=PP*P; z_type Q=q-p*p*z; z_type QQ=Q*Q; z_type r=729.*QQ + 108.*PPP; //     z_type R=-sqrt(r); z_type R=-I*sqrt(-r); z_type s3=27.*q - 27.*p*p*z + R; z_type s=pow(s3,1./3.); z_type B0=pow(2.,1./3.)*P/(q*s); z_type B1=pow(54.,-1./3.)*s/q ; z_type B=B1-B0; z_type c=0.25*p*p/(q*q)+B; z_type C=sqrt(c); //     z_type C=I*sqrt(-c); return -.25*p/q - .5*C + .5*sqrt( 0.5*p*p/(q*q) - B + (.25*p*p*p+2.*q*q)/(q*q*q*C) ) ; }

z_type arcnemcb(z_type z){ z_type p=NEMTSOVp; // WARNING: global variable z_type q=NEMTSOVq; // WARNING: global variable z_type P=p+4.*q*z; z_type PP=P*P; z_type PPP=PP*P; z_type Q=q-p*p*z; z_type QQ=Q*Q; z_type r=729.*QQ + 108.*PPP; //     z_type R=-sqrt(r); z_type R=-I*sqrt(-r); z_type s3=27.*q - 27.*p*p*z + R; z_type s=pow(s3,1./3.); z_type B0=pow(2.,1./3.)*P/(q*s); z_type B1=pow(54.,-1./3.)*s/q ; z_type B=B1-B0; z_type c=0.25*p*p/(q*q)+B; //     z_type C=sqrt(c); z_type C=I*sqrt(-c); return -.25*p/q - .5*C + .5*sqrt( 0.5*p*p/(q*q) - B + (.25*p*p*p+2.*q*q)/(q*q*q*C) ) ; }

z_type arcnemda(z_type z){ z_type p=NEMTSOVp; // WARNING: global variable z_type q=NEMTSOVq; // WARNING: global variable z_type P=p+4.*q*z; z_type PP=P*P; z_type PPP=PP*P; z_type Q=q-p*p*z; z_type QQ=Q*Q; z_type r=729.*QQ + 108.*PPP; z_type R=-sqrt(r); //     z_type R=-I*sqrt(-r); z_type s3=27.*q - 27.*p*p*z + R; z_type s=pow(s3,1./3.); z_type B0=pow(2.,1./3.)*P/(q*s); z_type B1=pow(54.,-1./3.)*s/q ; z_type B=B1-B0; z_type c=0.25*p*p/(q*q)+B; z_type C=sqrt(c); //     z_type C=I*sqrt(-c); return -.25*p/q - .5*C + .5*sqrt( 0.5*p*p/(q*q) - B + (.25*p*p*p+2.*q*q)/(q*q*q*C) ) ; }

z_type arqnem(z_type z){ DB x=Re(z), y=Im(z); if(x0) return arcnemcb(z); else return conj(arcnemcb(conj(z))); } if(y>NEMTSOVi) return conj(arcnemba(conj(z))); if(y<-NEMTSOVi) return arcnemba(z); if(x> (NEMTSOVr/NEMTSOVi) * fabs(y)) return arcnemaa(z); return arcnemda(z); }

z_type aun(z_type z){ int n; int N=9; z_type s=z; for(n=1;n<12;n++) { s=arqnem(s); if(abs(s)<.2 || n>10 ) return aune(s)+(AUNEo+n); } return 0.; }

int aunemdpq(DB p, DB q){ NEMTSOVp=p; NEMTSOVq=q; DPQ[0]=0.;
 * 1) include "nemtsovdpq40.txt"

// Now coefficients are calcualted DB x=Re(aun(1.)); AUNEo-=x; DB y=Re(aun(1.)); printf("aunemdpq inicializaiton:\n %20.16lf %20.16lf AUNEo=%20.16f\n",p,q,AUNEo); printf("aun(1) before and fter:\n %20.16lf %20.16lf\n\n\n",x,y); getchar; return 41; }

z_type nemsingu(z_type p,z_type q){ z_type a=sqrt(pow(p,3) + 4.*pow(q,2)); z_type s= z_type(1.,-sqrt(3.)) * ( p + pow(-pow(p,3)+4.*(a-2.*q)*q,1./3.) ) / ( 8.*q*pow( -pow(p,3) + 4.*(a-2.*q)*q ,1./3.) ) ; NEMTSOVp=Re(p); // WARNING: NEMTSOVp is global variable. NEMTSOVq=Re(q); // WARNING: NEMTSOVq is global variable. z_type t=nempq(s); // mempq does not use NEMTSOVi. NEMTSOVR=Re(s); // WARNING: NEMTSOVR is global variable. NEMTSOVI=Im(s); // WARNING: NEMTSOVI is global variable. NEMTSOVr=Re(t); // WARNING: NEMTSOVr is global variable. NEMTSOVi=Im(t); // WARNING: NEMTSOVi is global variable. return s;      // Warning: tested only for real p,q. }
 * ( -p + pow(pow(p,3) - 4.*a*q + 8.*pow(q,2),1./3.) )

//#include "sunem.cin"

int main{ int Max; int j,k,m,n; DB x,y, p,q, t,tr,ti; z_type z,c,d;

DB P=1 ; DB Q=1.; nemsingu(P,Q); nemtsovapq(P,Q); //Calculation of A; storing of valies of NEMTSOVp and NEMTSO$ aunemdpq(P,Q); printf("NEMTSOVp, NEMTSOVq= %9.6lf %9.6lf\n", NEMTSOVp, NEMTSOVp); printf("Xunity= %19.16lf\n", Xunity);

c=aun(1.); printf("aun(1) =%20.15lf %20.16lf\n", Re(c),Im(c));

c=aun(1.); printf("aun(1) =%20.15lf %20.16lf\n", Re(c),Im(c)); c=sunem(0.); printf("sunem(0)=%20.15lf %20.16lf\n", Re(c),Im(c)); //getchar;

tr=NEMTSOVr; ti=NEMTSOVi;

DO(n,18) printf("%9.5lf\n", DPQ[n]);

int M=801,M1=M+1; int N=401,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("66.eps","w");ado(o,402,402); //FILE *o;o=fopen("aunema.eps","w");ado(o,402,402); //FILE *o;o=fopen("02.eps","w");ado(o,402,402); FILE *o;o=fopen("aunem11mb.eps","w");ado(o,402,402); fprintf(o,"201 201 translate\n 100 100 scale 2 setlinecap\n"); DO(m,M1) X[m]=-2.+.005*(m-.5); DO(n,N1) Y[n]=-2.+.01*(n-.5); for(m=-2;m<3;m++){ if(m==0){ M(m,-2.1)L(m,2.1)} else { M(m,-2)L(m,2) }} for(n=-2;n<3;n++){ M(-2,n)L(2,n)} fprintf(o,".006 W 0 0 0 RGB 2 setlinecap S\n"); M(tr, -2) L(tr, 2) M(-2, ti) L(2, ti) M(-2,-ti) L(2,-ti) fprintf(o,".003 W 0 0 0 RGB S\n");

//M(-2,0) L(0,0) M(tr,ti)L(0,0)L(tr,-ti) //fprintf(o,".01 W 1 1 0 RGB 0 setlinecap S\n");

DO(m,M1)DO(n,N1){g[m*N1+n]=9999; f[m*N1+n]=9999;} DO(m,M1){x=X[m]; printf("run at x=%6.3f\n",x); DO(n,N1){y=Y[n]; z=z_type(x,y);

//c=aune(arnem(arnem(z)))+2.; //c=sunem(z); c=aun(z);

//p=abs(c-z)/abs(c+z); p=-log(p)/log(10.); p=Re(c); q=Im(c); //if(p>-85 && p<85) g[m*N1+n]=p; if(p>-41 && p<41 &&        q >-41 && q<41 ) { g[m*N1+n]=p; f[m*N1+n]=q; } }}

fprintf(o,"1 setlinejoin 1 setlinecap\n"); p=10.;q=.5; //#include"plofu.cin" //p=2;q=1;

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

for(m= 1;m<11;m++) conto(o,f,w,v,X,Y,M,N,(0.-m),-p,p);fprintf(o,".004 W .8 0 0 RGB S\n"); for(m= 1;m<11;m++) conto(o,f,w,v,X,Y,M,N,(0.+m),-p,p);fprintf(o,".004 W 0 0 .8 RGB S\n"); conto(o,f,w,v,X,Y,M,N,(0. ),-p,p);fprintf(o,".004 W .5 0 .5 RGB S\n"); for(m=-10;m<11;m++)conto(o,g,w,v,X,Y,M,N,(0.+m),-p,p);fprintf(o,".004 W 0 0 0 RGB S\n");

/* // conto(o,g,w,v,X,Y,M,N,15.5,-p,p);fprintf(o,".02 W .3 0 .3 RGB S\n"); conto(o,g,w,v,X,Y,M,N,15.,-p,p);fprintf(o,".004 W 0 0 1 RGB S\n"); conto(o,g,w,v,X,Y,M,N,14.,-p,p);fprintf(o,".002 W 0 1 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,13.,-p,p);fprintf(o,".002 W 1 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,12.,-p,p);fprintf(o,".004 W 0 0 .7 RGB S\n"); conto(o,g,w,v,X,Y,M,N,11.,-p,p);fprintf(o,".002 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,10.,-p,p);fprintf(o,".002 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,9.,-p,p);fprintf(o,".004 W 0 .6 .8 RGB S\n"); conto(o,g,w,v,X,Y,M,N,8.,-p,p);fprintf(o,".002 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,7.,-p,p);fprintf(o,".002 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,6.,-p,p);fprintf(o,".004 W 0 .6 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,5.,-p,p);fprintf(o,".002 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,4.,-p,p);fprintf(o,".002 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,3.,-p,p);fprintf(o,".004 W 1 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,2.,-p,p);fprintf(o,".002 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,1.,-p,p);fprintf(o,".005 W .5 0 0 RGB S\n");

M(-2,0) L(0,0) M(tr,ti)L(0,0)L(tr,-ti) fprintf(o,".012 W 1 1 0 RGB 0 setlinecap S\n");

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

//getchar; system("killall Preview");// mac

return 0; }

Latex generator of labels
\documentclass[12pt]{article} \usepackage{graphics} \paperwidth 430pt \paperheight 426pt \usepackage{geometry} \usepackage{rotating} \textwidth 1260pt \textheight 1260pt \topmargin -108pt \oddsidemargin -72pt \parindent 0pt \pagestyle{empty} \newcommand \ing {\includegraphics} \newcommand \sx {\scalebox} \newcommand \rot {\begin{rotate}} \newcommand \ero {\end{rotate}} \begin{document} \begin{picture}(424,424) %\put(24,20){\ing{arknemmap1010}} %\put(24,20){\ing{arcnep10q10m4}} %\put(24,20){\ing{arqne114}} %\put(50,40){\ing{sunem10q10ma6a}} %\put(50,40){\ing{sunem10q10ma6s}} \put(24,20){\ing{aunem11mb}} \put(11,415){\sx{1.8}{$y$}} \put(10,314){\sx{1.8}{$1$}} \put(10,214){\sx{1.8}{$0$}} \put(-5,114){\sx{1.8}{$-1$}} \put(-5, 14){\sx{1.8}{$-2$}} \put( 5, 1){\sx{1.8}{$-2$}} \put(105, 1){\sx{1.8}{$-1$}} \put(221, 1){\sx{1.8}{$0$}} \put(321, 1){\sx{1.8}{$1$}} \put(418,1){\sx{1.8}{$x$}} \put(330,196){\sx{1.8}{\rot{87} $u\!=\!0$\ero}} \put(398,190){\sx{1.8}{\rot{86} $u\!=\!0.6$\ero}} % \put(170,359){\sx{1.8}{\rot{0} $v\!=\!1$\ero}}%%%% %\put(238,360){\sx{1.8}{\rot{75} $v\!=\!0.5$\ero}} % %\put(288,364){\sx{1.8}{\rot{56} $v\!=\!0.4$\ero}} \put(346,309){\sx{1.8}{\rot{79} $v\!=\!0.6$\ero}} \put(358,270){\sx{1.8}{\rot{50} $v\!=\!0.4$\ero}} \put(366,244){\sx{1.8}{\rot{25} $v\!=\!0.2$\ero}} %\put(350,178){\sx{1.8}{\rot{-16} $v\!=\!-0.1$\ero}} \put(370,144){\sx{1.8}{\rot{-58} $v\!=\!-0.4$\ero}} %\put(306,112){\sx{1.8}{\rot{-46} $v\!=\!-0.3$\ero}} \put(264,27){\sx{1.8}{\rot{52} $v\!=\!-0.8$\ero}} % \put(360,392){\sx{1.8}{\rot{-7} $u\!=\!1$\ero}} \put(360,42){\sx{1.8}{\rot{4} $u\!=\!1$\ero}} % \put(160,76){\sx{1.8}{\rot{-6} $v\!=\!-1$\ero}} % \put(80,217){\sx{1.8}{\rot{0.} \bf cut \ero}}

\put(142,380){\sx{1.8}{\rot{-69} $u\!=\!0.4$\ero}} \put(88,282){\sx{1.8}{\rot{-22} $u\!=\!0.6$\ero}}% % \put(86,147){\sx{1.8}{\rot{23} $u\!=\!0.6$\ero}} \put(158,82){\sx{1.8}{\rot{62} $u\!=\!0.4$\ero}} %\put(188,34){\sx{1.8}{\rot{86} $v\!=\!-0.6$\ero}} \end{picture} \end{document}