File:Arqnem10zt.jpg

From TORI
Revision as of 08:30, 1 December 2018 by Maintenance script (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Original file(4,192 × 4,192 pixels, file size: 686 KB, MIME type: image/jpeg)

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

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

Additional grid lines mark the branch point of function $\mathrm{arqNem}_q~~$;

$x_0 +\mathrm i y_0 = \mathrm{Nem}_1(z_0)$

where $z_0$ is solution of equation $\mathrm{Nem}_1^{~\prime} (z_0)=0$

References


C++ generator of map

ado.cin, conto.cin, nembran.cin, arqnem.cin 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=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"nembran.cin"
z_type NemZo=nembra(Q);
z_type ANemZo=nem(NemZo);
DB tr=Re(ANemZo);
DB ti=Im(ANemZo);

#include "arqnem.cin"

/*
z_type arnemU(z_type z){ DB q=Q; DB q2=q*q; DB q3=q2*q;
z_type a=q-z; z_type b=1.+4.*q*z; z_type r=81.*(a*a)+12.*(b*b*b);
z_type R=-I*sqrt(-r);
z_type s=27.*a + 3.*R; z_type S=pow(s,1./3.);
z_type B=(0.26456684199469993*S)/q - (1.2599210498948732*b)/(q*S);
z_type h=0.25/q2 + B;
z_type H=I*sqrt(-h);
z_type g=0.5/q2 - B + (.25+2.*q2)/(q3*H);
z_type G=I*sqrt(-g);
return - 0.25/q - 0.5*H + 0.5*G ;}

z_type arnemD(z_type z){ DB q=Q; DB q2=q*q; DB q3=q2*q;
z_type a=q-z; z_type b=1.+4.*q*z; z_type r=81.*(a*a)+12.*(b*b*b);
z_type R=I*sqrt(-r);
z_type s=27.*a + 3.*R; z_type S=pow(s,1./3.);
z_type B=(0.26456684199469993*S)/q - (1.2599210498948732*b)/(q*S);
z_type h=0.25/q2 + B;
z_type H=-I*sqrt(-h);
z_type g=0.5/q2 - B + (.25+2.*q2)/(q3*H);
z_type G=-I*sqrt(-g);
return - 0.25/q - 0.5*H + 0.5*G ;}

z_type arnemR(z_type z){ DB q=Q; DB q2=q*q; DB q3=q2*q;
z_type a=q-z; z_type b=1.+4.*q*z; z_type r=81.*(a*a)+12.*(b*b*b);
z_type R=sqrt(r); z_type s=27.*a + 3.*R;
z_type S=pow(s,1./3.);
z_type B=(0.26456684199469993*S)/q - (1.2599210498948732*b)/(q*S);
z_type h=0.25/q2 + B;
z_type H=sqrt(h);
z_type g=0.5/q2 - B + (.25+2.*q2)/(q3*H);
z_type G=sqrt(g);
return - 0.25/q - 0.5*H + 0.5*G ;}

z_type arnemL(z_type z){ DB q=Q; DB q2=q*q; DB q3=q2*q;
z_type a=q-z; z_type b=1.+4.*q*z; z_type r=81.*(a*a)+12.*(b*b*b);
z_type R=-sqrt(r);
z_type s=27.*a + 3.*R; z_type S=pow(s,1./3.);
z_type B=(0.26456684199469993*S)/q - (1.2599210498948732*b)/(q*S);
z_type h=0.25/q2 + B;
z_type H=sqrt(h);
z_type g=0.5/q2 - B + (.25+2.*q2)/(q3*H);
z_type G=sqrt(g);
return - 0.25/q - 0.5*H + 0.5*G ;}

z_type arqnem(z_type z){ DB x,y; x=Re(z);y=Im(z);
if( y>ti || (x<0 && y>=0)) return arnemU(z);
//if(y<0) return conj(arnemU(conj(z)));
if(y<-ti || (x<0 && y<=0)) return arnemD(z);
if(x*ti>fabs(y)*tr) return arnemR(z);
return arnemL(z);
}
*/

int main(){ int Max; int j,k,m,n; DB x,y, p,q, t; z_type z,c,d;
// DB rr,ti;
 int M=2001,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("arqnem10z.eps","w");ado(o,2020,2020);
fprintf(o,"1010 1010 translate\n 1000 1000 scale 2 setlinecap\n");
DO(m,M1) X[m]=-1.+.001*(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(tr, -2) L(tr, 2)
M(-2, ti) L(2, ti)
M(-2,-ti) L(2,-ti)
fprintf(o,".002 W 0 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");
printf("ti, tr= %9.5lf %9.5lf\n",tr,ti);

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);
//c=aun(z);
c=arqnem(z);
//c=arnemD(z);
//c=nem(c);
//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>-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=20.;q=.5;
//#include"plofu.cin"
//p=2;q=1;

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,".006 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,".006 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,".006 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,".01 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,".01 W 0 0 .8 RGB S\n");
                   conto(o,f,w,v,X,Y,M,N,(0. ),-p,p);fprintf(o,".01 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,".01 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,".004 W 1 1 0 RGB 0 setlinecap S\n");

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

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

return 0;
}

Latex generator of labels


 \documentclass[12pt]{article}
 \usepackage{graphics}
 \paperwidth 2020pt
 \paperheight 2020pt
 \usepackage{geometry}
 \usepackage{rotating}
 \textwidth 2260pt
 \textheight 2260pt
 \topmargin -97pt
 \oddsidemargin -84pt
 \parindent 0pt
 \pagestyle{empty}
\newcommand \ing {\includegraphics}
\newcommand \sx {\scalebox}
\newcommand \rot {\begin{rotate}}
\newcommand \ero {\end{rotate}}
\begin{document}
\begin{picture}(2020,2020)
%\put(24,20){\ing{35z}}
\put(10,10){\ing{arqnem10z}}
\put(226,1000){\sx{8}{\rot{0.} \bf cut \ero}}
\put(1044,1044){\sx{8}{\rot{73} \bf cut \ero}}

\put(940,1980){\sx{8}{$y$}}
\put(900,1500){\sx{8}{$0.5$}}
\put(900,1354){\sx{8}{$y_0$}}
\put(930,1000){\sx{8}{$0$}}
\put(860,664){\sx{8}{$-y_0$}}
\put(830, 492){\sx{8}{$-0.5$}}
\put(400, 942){\sx{8}{$-0.5$}}
\put(1000, 942){\sx{8}{$0$}}
\put(1064, 942){\sx{8}{$x_0$}}
\put(1464, 942){\sx{8}{$0.5$}}
\put(1980, 942){\sx{8}{$x$}}
%
\put(700,1820){\sx{8}{\rot{-70} $v\!=\!0.6$\ero}}
\put(470,1540){\sx{8}{\rot{-46} $v\!=\!0.7$\ero}}
\put(240,1220){\sx{8}{\rot{-31} $v\!=\!0.8$\ero}}
%
\put(1048,1670){\sx{8}{\rot{90} $v\!=\!0.5$\ero}}
\put(1244,1644){\sx{8}{\rot{66} $v\!=\!0.4$\ero}}
\put(1420,1544){\sx{8}{\rot{49} $v\!=\!0.3$\ero}}
\put(1560,1400){\sx{8}{\rot{32} $v\!=\!0.2$\ero}}
\put(1620,1206){\sx{8}{\rot{14} $v\!=\!0.1$\ero}}
\put(1620,1000){\sx{8}{\rot{0} $v\!=\!0$\ero}}
\put(1600, 798){\sx{8}{\rot{-16} $v\!=\!-0.1$\ero}}
%
\put(1210, 740){\sx{8}{\rot{77} $u\!=\!0.2$\ero}}
\put(1280, 667){\sx{8}{\rot{65} $u\!=\!0.3$\ero}}
\put(1380, 580){\sx{8}{\rot{57} $u\!=\!0.4$\ero}}
\put(1500, 430){\sx{8}{\rot{51} $u\!=\!0.5$\ero}}
\put(1654, 220){\sx{8}{\rot{48} $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,192 × 4,192 (686 KB)Maintenance script (talk | contribs)Importing image file

The following page uses this file:

Metadata