Difference between revisions of "File:Sunem0map6.jpg"

From TORI
Jump to navigation Jump to search
(Importing image file)
 
 
Line 1: Line 1:
  +
[[Complex map]] of function [[SuNem]] with parameter $q\!=\!0$;
Importing image file
 
  +
  +
$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 iterate]]s cannot be constructed with algorithms, presented in the First Russian version of the book
  +
[[Superfunctions]].
  +
  +
==References==
  +
<references/>
  +
  +
==Mathematica generator of the algorithm==
  +
<poem><nomathjax><nowiki>
  +
(* 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++;]
  +
</nowiki></nomathjax></poem>
  +
  +
(* 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
  +
  +
<poem><nomathjax><nowiki>
  +
  +
#include <math.h>
  +
#include <stdio.h>
  +
#include <stdlib.h>
  +
#define DB double
  +
#define DO(x,y) for(x=0;x<y;x++)
  +
//using namespace std;
  +
#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"
  +
  +
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!
  +
  +
#include "sune.cin"
  +
  +
/*
  +
#include"nembran.cin"
  +
z_type NemZo=nembra(Q);
  +
z_type ANemZo=nem(NemZo);
  +
DB tr=Re(ANemZo);
  +
DB ti=Im(ANemZo);
  +
  +
#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;
  +
}
  +
  +
</nowiki></nomathjax></poem>
  +
  +
==[[Latex]] generator of the labels==
  +
  +
<poem><nomathjax><nowiki>
  +
  +
</nowiki></nomathjax></poem>
  +
  +
  +
[[Category:Book]]
  +
[[Category:BookMap]]
  +
[[Category:C++]]
  +
[[Category:Latex]]
  +
[[Category:Mathematica]]
  +
[[Category:Nemtsov Function]]
  +
[[Category:SuNem]]
  +
[[Category:Superfunction]]

Latest revision as of 08:53, 1 December 2018

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.

References


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



#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#define DB double
#define DO(x,y) for(x=0;x<y;x++)
//using namespace std;
#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"

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!

#include "sune.cin"

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

#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;
}

Latex generator of the labels



File history

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

Date/TimeThumbnailDimensionsUserComment
current06:14, 1 December 2018Thumbnail for version as of 06:14, 1 December 20182,615 × 2,594 (1.15 MB)Maintenance script (talk | contribs)Importing image file

The following page uses this file:

Metadata