File:Sunem0map6.jpg

Complex map of function SuNem with parameter $q\!=\!0$;

$u\!+\!\mathrm i v=\mathrm{SuNem}_0(x\!+\!\mathrm i y)$

Description
Nemtsov function is polynomial of the special kind,

$\mathrm{Nem}_q(z)=z+z^3+qz^4$

where $q$ is positive parameter.

For the Nemtsov function, its superfunction SuNem is solution $F=\mathrm{SuNem}_q$ of the transfer equation

$F(z\!+\!1)=\mathrm{Nem}_q(F(z))$

whith specific behaviour at -infinity

$\displaystyle \mathrm{SuNem}_q(z) = \frac{1}{\sqrt{-2z}} \left(1+O\left( \frac{1}{\sqrt{-2z}} \right)\right)$

and specific value at zero, $\mathrm{SuNem}_q(0)=1$.

The Nemtsov function is suggested as an example of the transfer function, for wich the exotic iterates cannot be constructed with algorithms, presented in the First Russian version of the book Superfunctions.

Mathematica generator of the algorithm
(* Coefficients of the asymptotic expansion of function SuNem can be computed with the Mathematica code below *)

T[z_] = z + z^3 + q z^4 P[m_, L_] := Sum[a[m, n] L^n, {n, 0, IntegerPart[m/2]}] A[1, 0] = -q; A[1, 1] = 0; a[2, 0] = 0; A[2, 0] = 0; F[m_, z_] := 1/(-2 z)^(1/2) (1 - q/(-2 z)^(1/2) + Sum[P[n, Log[-z]]/(-2 z)^(n/2), {n, 2, m}])

m = 2; s[m] = Numerator[ Normal[Series[(T[F[m, -1/x^2]] - F[m, -1/x^2+1]) 2^((m+1)/2)/x^(m+2), {x,0,1}]]] t[m] = Numerator[Coefficient[Normal[s[m]], x] ] sub[m] = Extract[Solve[t[m] == 0, a[m, 1]], 1] SUB[m] = Simplify[sub[m]] f[m, z_] = ReplaceAll[F[m, z], SUB[m]]

m = 3 s[m] = Simplify[ ReplaceAll[ Series[(T[F[m, -1/x^2]] - F[m, -1/x^2+1]) 2^((m+3)/2)/x^(m+3), {x,0,0}], SUB[m-1]]]; t[m] = ReplaceAll[Normal[s[m]], Log[x] -> L]; u[m] = Table[ Coefficient[t[m] L, L^n] == 0, {n, 1, 1 + IntegerPart[m/2]}]; tab[m] = Table[a[m, n], {n, 0, IntegerPart[m/2]}]; sub[m] = Extract[Solve[u[m], tab[m]], 1] SUB[m] = Join[SUB[m-1], sub[m]];

(* and the same for other m *)

Clear[m]; A[m_, n_] := ReplaceAll[a[m, n], sub[m]]

For[m = 1, m < 37, For[n = 0, n < (m + 1)/2, Print["A[", m, "][", n, "]=", CForm[N[ReplaceAll[HornerForm[A[m, n], q], {q^2 -> K, q -> Q}]]], ";"]; n++]; m++;]

(* The resulting array of coefficients should be stored in file sunema.txt, it should be included at the compilation of the code below *)

C++ generator of the map
// Files ado.cin, conto.cin, sune.cin, sunema.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 Q=0.; z_type nem(z_type z){ return z*(1.+z*z*(1.+z*Q)); } z_type nem1(z_type z){ return 1.+z*z*(3.+z*(4.*Q)); }  // WARNING: Q is global!


 * 1) include "sune.cin"

/* z_type NemZo=nembra(Q); z_type ANemZo=nem(NemZo); DB tr=Re(ANemZo); DB ti=Im(ANemZo);
 * 1) include"nembran.cin"


 * 1) include "arqnem.cin"

DB SUNo=0;

z_type sunem(z_type z){ return sune(z + SUNo);}

int main{ int Max; int j,k,m,n; DB x,y, p,q, t; z_type z,c,d; // DB rr,ti; co; DO(n,60) { y=Re(sunem(0)); SUNo-= y-1.; printf("%19.16lf %19.16lf\n", SUNo,y);} getchar;

//printf("A[2][1]= %9.5f\n",A[2][1]); printf("A[2][0]= %9.5lf, A[2][1]=%9.5lf\n",A[2][0],A[2][1]); printf("A[3][0]= %9.5lf, A[3][1]=%9.5lf\n",A[3][0],A[3][1]); // getchar; int M=601,M1=M+1; int N=601,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 //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("sunem0ma6.eps","w");ado(o,1204,1204); fprintf(o,"602 602 translate\n 100 100 scale 2 setlinecap\n"); DO(m,M1) X[m]=-6.+.02*(m-.5); DO(n,N1) Y[n]=-6.+.02*(n-.5); for(m=-6;m<7;m+=1){ M(m,-6)L(m,6)} for(n=-6;n<7;n+=1){ M(-6,n)L(6,n)} fprintf(o,".008 W 0 0 0 RGB 2 setlinecap S\n");

DO(m,M1)DO(n,N1){g[m*N1+n]=9999999; f[m*N1+n]=9999999;} DO(m,M1){x=X[m]; if(m/10*10==m) printf("run at x=%6.3f\n",x); DO(n,N1){y=Y[n]; z=z_type(x,y); c=sunem(z); //d=sune(z); //p=abs(c-d)/abs(c+d); p=-log(p)/log(10.); p=Re(c); q=Im(c); //if(p>-85 && p<85) g[m*N1+n]=p; if(p>-1001 && p<1001 &&        q >-1001 && q<1001 ) { g[m*N1+n]=p; f[m*N1+n]=q; } }}

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

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

for(m=-5;m<5;m++)for(n=1;n<10;n+=1)conto(o,f,w,v,X,Y,M,N, (m+.1*n),-q,q); fprintf(o,".014 W 0 .6 0 RGB S\n"); for(m=0;m<5;m++) for(n=1;n<10;n+=1)conto(o,g,w,v,X,Y,M,N,-(m+.1*n),-q,q); fprintf(o,".014 W .9 0 0 RGB S\n"); for(m=0;m<5;m++) for(n=1;n<10;n+=1)conto(o,g,w,v,X,Y,M,N, (m+.1*n),-q,q); fprintf(o,".014 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,".03 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,".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=-10;m<11;m++)conto(o,g,w,v,X,Y,M,N,(0.+m),-p,p);fprintf(o,".03 W 0 0 0 RGB S\n");

/* conto(o,g,w,v,X,Y,M,N,15.5,-1,1);fprintf(o,".02 W 1 0 1 RGB S\n"); conto(o,g,w,v,X,Y,M,N,15.,-p,p);fprintf(o,".04 W 0 0 1 RGB S\n"); conto(o,g,w,v,X,Y,M,N,14.,-p,p);fprintf(o,".02 W 0 1 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,13.,-p,p);fprintf(o,".02 W 1 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,12.,-p,p);fprintf(o,".04 W 0 0 .7 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,10.,-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 .6 .8 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,7.,-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 .6 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,4.,-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 1 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,1.,-p,p);fprintf(o,".05 W .5 0 0 RGB S\n");

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

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

//for(m=-40;m<0;m++) {x=m; y=Re(sun(x)); t=Re(nem(sun(x-1.))); printf("%6.1lf %18.15lf %18.15lf %18.15lf\n", x,y,t,y-t);} return 0; }