File:Aunem11mbp.jpg

From TORI
Jump to: navigation, search
Original file(3,569 × 3,536 pixels, file size: 1.16 MB, MIME type: image/jpeg)

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)$

References

This is version of figure http://mizugadro.mydns.jp/t/index.php/File:Aunem11map.jpg with reduced rsolution, in order to make thin lines visible.

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.


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

#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(x<ARCNEMVER){if(y>0) 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.;
#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.) )
* ( -p + pow(pow(p,3) - 4.*a*q + 8.*pow(q,2),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.
}

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

File history

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

Date/TimeThumbnailDimensionsUserComment
current06:10, 1 December 2018Thumbnail for version as of 06:10, 1 December 20183,569 × 3,536 (1.16 MB)Maintenance script (talk | contribs)Importing image file
  • You cannot overwrite this file.

There are no pages that link to this file.

Metadata