File:Aunemplot.jpg

From TORI
Jump to navigation Jump to search

Original file(8,322 × 8,322 pixels, file size: 1.39 MB, MIME type: image/jpeg)

Explicit plot of function AuNem:

$y=\mathrm{AuNem}_q(x)$

for $q\!=\!0$, $q\!=\!1$ and $q\!=\!2$.

References


C++ generator of curves

Files ado.cin, conto.cin, nembran.cin, arqnem.cin, sunema.txt, aunemco.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=1.e-6;
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!

DB K=Q*Q;
DB A[37][19];
int co(){
#include "sunema.txt"
return 0;}

z_type sun(z_type z){ z_type p[37],s; int m,M,n,N;
z_type L=log(-z);
z_type t=1./sqrt(-2.*z);
M=36;
for(m=2;m<M+1;m++){ N=m/2; s=A[m][N]*L; for(n=N-1;n>0;n--) { s+=A[m][n]; s*=L; }
                p[m]=A[m][0]+s;
                }
s=p[M]*t; for(m=M-1; m>1;m--) { s+=p[m]; s*=t;}
        return t*( 1. + t* (-Q + s) );
}

z_type sune(z_type z){ int m,n; DB x,y; z_type s;
DB R=20.+20.*Q*Q;
x=Re(z); if(x<-R) return sun(z);
y=Im(z); if(fabs(y)>R) return sun(z);
n=int(x+R);
s=sun(z-(0.+n));
DO(m,n) s=nem(s);
return s;
}

DB AUNE1=0;

z_type sunem(z_type z){ int m,n; DB x,y; z_type s;
DB R=20.+20.*Q*Q;
x=Re(z); if(x<-R) return sun(z);
y=Im(z); if(fabs(y)>R) return sun(z);
n=int(x+R);
s=sun(z-(n-AUNE1));
DO(m,n) s=nem(s);
return s;
}

// z_type sunem(z_type z)( return sine(AUNE1+z));)

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

FILE *o;o=fopen("aunemplo.eps","w");ado(o,4008,4008);
fprintf(o,"4 2004 translate\n 1000 1000 scale 2 setlinecap\n");
for(m=0;m<40;m+=10){ M(.1*m,-2)L(.1*m,2)}
for(n=-20;n<21;n+=10){ M(0,.1*n)L(4,.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");


Q=1.e-6; K=Q*Q; NemZo=nembra(Q); ANemZo=nem(NemZo); tr=Re(ANemZo); ti=Im(ANemZo); co(); coa(); AUNE1=Re(aune1(1.));
DO(n,401){ y=-2.+.01*n; x=Re(sunem(y)); if(n==0) M(x,y) else L(x,y); if(x> 4) break; } fprintf(o,".03 W 1 0 .3 RGB S\n");
DO(m,400){ x= 4.-.01*m; y=Re(aunem(x)); if(m==0) M(x,y) else L(x,y); if(y<-2) break; } fprintf(o,".01 W 0 0 0 RGB S\n");


Q=1.; K=Q*Q; NemZo=nembra(Q); ANemZo=nem(NemZo); tr=Re(ANemZo); ti=Im(ANemZo); co(); coa(); AUNE1=Re(aune1(1.));
DO(n,401){ y=-2.+.01*n; x=Re(sunem(y)); if(n==0) M(x,y) else L(x,y); if(x> 4) break; } fprintf(o,".03 W 0 1 0 RGB S\n");
DO(m,400){ x= 4.-.01*m; y=Re(aunem(x)); if(m==0) M(x,y) else L(x,y); if(y<-2) break; } fprintf(o,".01 W 0 0 0 RGB S\n");

Q=2.; K=Q*Q; NemZo=nembra(Q); ANemZo=nem(NemZo); tr=Re(ANemZo); ti=Im(ANemZo); co(); coa(); AUNE1=Re(aune1(1.));
DO(n,401){ y=-2.+.01*n; x=Re(sunem(y)); if(n==0) M(x,y) else L(x,y); if(x> 4)break; } fprintf(o,".03 W .3 0 1 RGB S\n");
DO(m,400){ x= 4.-.01*m; y=Re(aunem(x)); if(m==0) M(x,y) else L(x,y); if(y<-2)break; } fprintf(o,".01 W 0 0 0 RGB S\n");

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

Latex generator of labels


 \documentclass[12pt]{article}
 \usepackage{graphics}
 \paperwidth 4010pt
 \paperheight 4010pt
 \usepackage{geometry}
 \usepackage{rotating}
 \textwidth 4400pt
 \textheight 4400pt
 \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}(4008,4008)
\put(20,3840){\sx{20}{$y\!=\!\mathrm{AuNem}_q(x)$}}
\put(100,2944){\sx{20}{$1$}}
\put(100,1940){\sx{20}{$0$}}
\put(10, 936){\sx{20}{$-1$}}
\put( 946,2040){\sx{20}{$1$}}
\put(1950,2040){\sx{20}{$2$}}
\put(2954,2040){\sx{20}{$3$}}
\put(3870,2040){\sx{20}{$x$}}
%
\put(0,0){\ing{aunemplo}}
%
\put(3300,3500){\sx{18}{\rot{7} $q\!=\!0$\ero}}
\put(3300,3120){\sx{18}{\rot{7} $q\!=\!1$\ero}}
\put(3300,2770){\sx{18}{\rot{6} $q\!=\!2$\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 20188,322 × 8,322 (1.39 MB)Maintenance script (talk | contribs)Importing image file

The following 2 pages use this file:

Metadata