File:Aunem10map.jpg

From TORI
Jump to: navigation, search
Original file(4,441 × 4,317 pixels, file size: 1.05 MB, MIME type: image/jpeg)

Complex map of function AuNem with parameter $q\!=\!1$:

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

References


C++ generator of the map

Files ado.cin, conto.cin, arqnem.cin, nembran.cin, sune.cin, sunemco.txt, aunemco.txt

should be loaded (or generated) in order to compile the C++ 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=1.;
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 C[41];
//DB K=Q*Q;
int coa(){ //C[1]=(0.5 - K)*Q; C[2]=-0.625 + (-0.25 + K/2.)*K; ..
#include "aunemco.txt"
return 40;
}

z_type aune0(z_type z){ z_type s; int n;
s=C[40]*z; for(n=39;n>0;n--){s+=C[n];s*=z;}
return (-.5/z+Q)/z + (1.5+K)*log(z) + (.5*K + (.75+.5*K)*log(2.)) + s ;
}

DB AUNE1=0;

z_type aune1(z_type z){ int n, N=20; DO(n,N) z=arqnem(z);
return aune0(z)+(0.+n);}

z_type aunem(z_type z){ int n, N=20; DO(n,N) z=arqnem(z);
return aune0(z)+(n-AUNE1);}


z_type aune02(z_type z){ z_type s; int n; s=(C[2]*z+C[1])*z;
                return (-.5/z+Q)/z + (1.5+K)*log(z) + (.5*K + (.75+.5*K)*log(2.)) + s ; }
z_type aune01(z_type z){ z_type s; int n; s=C[1]*z;
                return (-.5/z+Q)/z + (1.5+K)*log(z) + (.5*K + (.75+.5*K)*log(2.)) +s ; }

int main(){ int Max; int j,k,m,n; DB x,y, p,q, t; z_type z,c,d;
// DB rr,ti;
co();
coa();
AUNE1=Re(aune1(1.));
//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]);

printf("K= %9.5lf , C[1]=%9.5lf\n",K,C[1]);

// getchar();
 int M=1001,M1=M+1;
 int N=1001,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("aunem10ma.eps","w");ado(o,2008,2008);
fprintf(o,"1004 1004 translate\n 1000 1000 scale 2 setlinecap\n");
DO(m,M1) X[m]=-1.+.002*(m-.5);
DO(n,N1) Y[n]=-1.+.002*(n-.5);
for(m=-10;m<11;m+=5){ M(.1*m,-1)L(.1*m,1)}
for(n=-10;n<11;n+=5){ M(-1,.1*n)L(1,.1*n)}
fprintf(o,".003 W 0 0 0 RGB 2 setlinecap S\n");
M(-1,ti)L(1,ti)
M(-1,-ti)L(1,-ti)
M(tr,-1)L(tr,1)
fprintf(o,".002 W 0 0 0 RGB 2 setlinecap S\n");

//M(-1,0) L(0,0) M(tr,ti)L(0,0)L(tr,-ti)
//fprintf(o,".006 W 1 1 0 RGB 0 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=aune1(z);
c=aunem(z);
//c=sune(c);
//d=sune(z);
//p=abs(c-z)/(abs(c)+abs(z)); 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=200.;q=2.;
//#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,".001 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,".001 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,".001 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,-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,".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(-1,0) L(0,0) M(tr,ti)L(0,0)L(tr,-ti)
fprintf(o,".006 W 1 1 0 RGB 0 setlinecap S\n");

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

DO(m,50){ z=.01+.01*m;
        c=aune02(z); d=sune(c); p=abs(d-z)/(abs(d)+abs(z)); p=-log(p)/log(10.);
        c=aune0(z); d=sune(c); q=abs(d-z)/(abs(d)+abs(z)); q=-log(q)/log(10.);
        c=aune1(z); d=sune(c); y=abs(d-z)/(abs(d)+abs(z)); y=-log(y)/log(10.);
        printf("%5.3lf %5.2lf %5.2lf %5.2lf\n",Re(z), p,q,y);}

return 0;}

Latex generator of the labels


 \documentclass[12pt]{article}
 \usepackage{graphics}
 \paperwidth 2140pt
 \paperheight 2080pt
 \usepackage{geometry}
 \usepackage{rotating}
 \textwidth 2260pt
 \textheight 2260pt
 \topmargin -97pt
 \oddsidemargin -74pt
 \parindent 0pt
 \pagestyle{empty}
\newcommand \ing {\includegraphics}
\newcommand \sx {\scalebox}
\newcommand \rot {\begin{rotate}}
\newcommand \ero {\end{rotate}}
\begin{document}
\begin{picture}(2060,2052)
%\put(24,20){\ing{35z}}
%\put(10,10){\ing{arqnem10z}}
\put(128,50){\ing{aunem10ma}}
\put(226,1042){\sx{6}{\rot{0.} \bf cut \ero}}
\put(1156,1090){\sx{6}{\rot{73} \bf cut \ero}}

\put(80,2022){\sx{7}{$y$}}
\put(30,1536){\sx{6}{$0.5$}}
\put(50,1380){\sx{6.6}{$y_0$}}
\put(80,1036){\sx{6}{$0$}}
\put(-4,690){\sx{6.6}{$-y_0$}}
\put(-18, 536){\sx{6}{$-0.5$}}
\put(10, 34){\sx{6}{$-1$}}
\put(80, -7){\sx{6}{$-1$}}
\put(540,-6){\sx{6}{$-0.5$}}
\put(1118,-6){\sx{6}{$0$}}
\put(1190,-4){\sx{6}{$x_0$}}
\put(1590, -6){\sx{6}{$0.5$}}
\put(2096, -4){\sx{6.6}{$x$}}
%
\put(640,1958){\sx{8}{\rot{-50} $u\!=\!1.4$\ero}}
\put(444,1772){\sx{8}{\rot{-31} $u\!=\!1.5$\ero}}
\put(360,1472){\sx{8}{\rot{-10} $u\!=\!1.6$\ero}}
\put(286,1110){\sx{8}{\rot{9} $u\!=\!1.7$\ero}}
\put(286,958){\sx{8}{\rot{-10} $u\!=\!1.7$\ero}}
%
\put(1312,1790){\sx{8}{\rot{82} $u\!=\!1$\ero}}
\put(1860,1790){\sx{8}{\rot{-3} $u\!=\!0.5$\ero}}
%
\put(880,1500){\sx{8}{\rot{60} $v\!=\!1.4$\ero}}
\put(976,1460){\sx{8}{\rot{62} $v\!=\!1.5$\ero}}
%
\put(1720,1250){\sx{8}{\rot{60} $v\!=\!1$\ero}}
\put(1820,1032){\sx{8}{\rot{0} $v\!=\!0$\ero}}
\put(1672, 856){\sx{8}{\rot{-62} $v\!=\!-1$\ero}}
%
\put(1760,910){\sx{8}{\rot{88} $u\!=\!-1$\ero}}
\put(2028,714){\sx{8}{\rot{54} $u\!=\!0$\ero}}
\put(1868,364){\sx{8}{\rot{7} $u\!=\!0.4$\ero}}
\put(1860,278){\sx{8}{\rot{2} $u\!=\!0.5$\ero}}
\put(1840,186){\sx{8}{\rot{-5} $u\!=\!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 20184,441 × 4,317 (1.05 MB)Maintenance script (talk | contribs)Importing image file
  • You cannot overwrite this file.

The following page links to this file:

Metadata