File:Sunem10q10map6.jpg

From TORI
Jump to: navigation, search
Original file(2,615 × 2,594 pixels, file size: 335 KB, MIME type: image/jpeg)

Complex map of function SuNem with parameters $p=1$, $q=1$:

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

SuNem is superfunction for the Nemtsov function,

$\mathrm{nem}(z)=z+pz^3+qz^4$

References


Mathematica generator of the algorithm


T[z_]=z+p z^3+q z^4
P[m_, L_] := Sum[a[m, n] L^n, {n, 0, IntegerPart[m/2]}]
a[1, 0] = -q/p; a[2, 0] = 0;
m = 2;
F[m_,z_] = (-2 p z)^(-1/2) (1 + Sum[P[n, Log[-z]]/(-2 p z)^(n/2), {n, 1, 2}]);
s[m]=Numerator[Normal[Series[(T[F[m,-1/x^2]] - F[m,-1/x^2+1]) 2^((m+1)/2)/x^(m+3), {x,0,0}]]]
sub[m] = Extract[Solve[s[m]==0, a[m,1]], 1];
SUB[m] = sub[m]

For[m = 3, m < 18,
 F[m, z_] = ReplaceAll[(-2 p z)^(-1/2) (1+Sum[P[n, Log[-z]]/(-2 p z)^(n/2), {n,1,m}]), SUB[m-1]];
 s[m] = Numerator[Normal[Series[(T[F[m,-1/x^2]]-F[m,-1/x^2+1]) 2^((m+1)/2)/x^(m+3),{x,0,0}]]];
  t[m] = Collect[Numerator[ReplaceAll[s[m], Log[x] -> L]], 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]}];
  Print[sub[m] = Simplify[Extract[Solve[u[m], tab[m]], 1], p > 0]];
  SUB[m] = Join[SUB[m - 1], sub[m]];
  m++];

For[m=1, m<18,
  For[n=0,n<(m+1)/2,
     A[m, n] = CForm[N[ReplaceAll[a[m, n], sub[m]]]];
     Print["APQ[", m, "][", n, "]=", A[m, n], ";"]
   n++];
m++];

C++ generator of the map

Files ado.cin, conto.cin, nemtsovapq.txt should be loaded for the compilation of 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 "e1egf.cin"
//#include "e1egi.cin"
#include "conto.cin"

#include "nemtsovapq.txt"

// z_type T(z_type z){ return z - z*z*z*(1.+z); }
//z_type T(z_type z){ return z - z*z*z*(NEMTSOVP+z*NEMTSOVQ); } // old
z_type T(z_type z){ return z + z*z*z*(NEMTSOVp+z*NEMTSOVq); } //new


z_type F0(z_type z){ int m,n,k; z_type c[22],s; z_type L=log(-z); z_type x=sqrt(-.5/(NEMTSOVp*z));
int M=18; // this is maximal m for which APQ are calculated.
c[0]=-1; // Not used.
c[1]=APQ[1][0]; // id est, just -q/p
c[2]=APQ[2][1]*L;
for(m=3;m<M;m++){k=m/2; s=APQ[m][k]*L;
                  for(n=k-1;n>0;n--){ s+= APQ[m][n]; s*=L; }
                  c[m]=s+APQ[m][0];}
s=c[M-1]*x;
for(m=M-2;m>0;m--){ s+=c[m]; s*=x; }
return x*(1.+s);
}

z_type F(z_type z){ int n,N; DB x,y,r; z_type s;
x=Re(z); if(x<-180.) return F0(z);
r=abs(z-30.); if(r>190. && x<30.) return F0(z);
y=Im(z); if(r>190 && abs(y)>20) return F0(z);
N=int(x+181.);
s=F0(z-DB(N)); DO(n,N) s=T(s); return s;}

DB Xunity = 0.66402958486808;
z_type sunem(z_type z){ return F(z+Xunity); }

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

Max=nemtsovapq(1.,1.); //Calculation of A; storing of valies of NEMTSOVp and NEMTSOVp.

printf("NEMTSOVp, NEMTSOVq= %9.6lf %9.6lf Max=%2d\n", NEMTSOVp, NEMTSOVp, Max);

// DO(m,Max){ DO(n,m/2+1) printf("%15.9f ", APQ[m][n]); printf("\n");} getchar();

x=.7; DO(n,50){ y=Re(F(x)); x+=(1.-y); printf("%20.16lf %20.16lf\n",x,y); }
Xunity=x;
getchar();
DO(n,21){ x=-1.+.1*n; y=Re(sunem(x)); printf("%10.2f %20.16lf\n",x,y);}
getchar();

 int M=401,M1=M+1;
 int N=601,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("sunem10q10ma6a.eps","w");ado(o,1204,1204);
fprintf(o,"602 602 translate\n 100 100 scale\n");
DO(m,M1) X[m]=-6.+.03*(m-.5);
DO(n,N1) Y[n]=-6.+.02*(n-.5);
for(m=-6;m<7;m++){ if(m==0){ M(m,-6.2)L(m,6.2)} else
                                { M(m,-6)L(m,6) }}
for(n=-6;n<7;n++){ M(-6,n)L(6,n)}
fprintf(o,".002 W 0 0 0 RGB 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=1./sqrt(-2.*z)-1./(4.*z);
//c=T(F(z-1.));
//c=F(z);
c=sunem(z);
//d=F0(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>-51 && p<51 &&
          q >-51 && q<51 ) { g[m*N1+n]=p; f[m*N1+n]=q; }
        }}

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

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,".01 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,".01 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,".01 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");

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

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

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

Latex generator of the labels


\documentclass[12pt]{article}
 \usepackage{graphics}
 \paperwidth 1260pt
 \paperheight 1250pt
 \usepackage{geometry}
 \usepackage{rotating}
 \textwidth 1260pt
 \textheight 1260pt
 \topmargin -100pt
 \oddsidemargin -72pt
 \parindent 0pt
 \pagestyle{empty}
\newcommand \ing {\includegraphics}
\newcommand \sx {\scalebox}
\newcommand \rot {\begin{rotate}}
\newcommand \ero {\end{rotate}}
\begin{document}
\begin{picture}(1250,1240)
\put(50,40){\ing{sunem10q10ma6a}}
%\put(50,40){\ing{sunem10q10ma6s}}
\put(20,1226){\sx{4}{$y$}}
\put( 20,1130){\sx{4}{$5$}}
\put( 20,1030){\sx{4}{$4$}}
\put( 20,930){\sx{4}{$3$}}
\put( 20,830){\sx{4}{$2$}}
\put( 20,730){\sx{4}{$1$}}
\put( 20,630){\sx{4}{$0$}}
\put(-10,530){\sx{4}{$-1$}}
\put(-10,430){\sx{4}{$-2$}}
\put(-10,330){\sx{4}{$-3$}}
\put(-10,230){\sx{4}{$-4$}}
\put(-10,130){\sx{4}{$-5$}}
\put(-10, 30){\sx{4}{$-6$}}
\put(20, 2){\sx{4}{$-6$}}
\put(120, 2){\sx{4}{$-5$}}
\put(220, 2){\sx{4}{$-4$}}
\put(320, 2){\sx{4}{$-3$}}
\put(420, 2){\sx{4}{$-2$}}
\put(520, 2){\sx{4}{$-1$}}
\put(644, 2){\sx{4}{$0$}}
\put(744, 2){\sx{4}{$1$}}
\put(844, 2){\sx{4}{$2$}}
\put(944, 2){\sx{4}{$3$}}
\put(1044, 2){\sx{4}{$4$}}
\put(1144, 2){\sx{4}{$5$}}
\put(1228,3){\sx{4}{$x$}}
\put(978,996){\sx{4}{\rot{57} $u\!=\!0.1$\ero}}%
\put(166,572){\sx{4}{\rot{90} $u\!=\!0.3$\ero}}
\put(390,572){\sx{4}{\rot{90} $u\!=\!0.4$\ero}}
\put(496,572){\sx{4}{\rot{90} $u\!=\!0.5$\ero}}
%

\put(158,1116){\sx{4}{\rot{-64} $v\!=\!0.1$\ero}}%
\put(520,1016){\sx{4}{\rot{64} $v\!=\!0.2$\ero}}%
\put(684,976){\sx{4}{\rot{3} $v\!=\!0.3$\ero}}%
%\put(684,882){\sx{4}{\rot{-1} $v\!=\!-0.4$\ero}}%
%
\put(302,378){\sx{4}{\rot{46} $v\!=\!-0.1$\ero}}
\put(494,276){\sx{4}{\rot{-66} $v\!=\!-0.2$\ero}}
\put(700,286){\sx{4}{\rot{-4} $v\!=\!-0.3$\ero}}%
%\put(682,392){\sx{4}{\rot{-3} $v\!=\!-0.4$\ero}}
%
\put(674,132){\sx{4}{\rot{61} $u\!=\!0.2$\ero}}%
\put(1010,202){\sx{4}{\rot{-64} $u\!=\!0.1$\ero}}%
\end{picture}
\end{document}

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 (335 KB)Maintenance script (talk | contribs)Importing image file
  • You cannot overwrite this file.

There are no pages that link to this file.

Metadata