File:Sunemplo4t.jpg

[Explicit plot]] of function SuNem for vationus values of parameter.

$y=\mathrm{SuNem}_q(x)~ ~ $ versus $x$ for

$q\!=\!0$, (black)

$q\!=\!0.5$, (pink)

$q\!=\!1$, (red)

$q\!=\!2$, (green)

$q\!=\!3$, (blue)

C++ generator of curves
Files ado.cin, conto.cin, sune.cin, sunema.txt should be loaded in order to compile the C++ code below. //using namespace std; typedef std::complex z_type; //#include "conto.cin"
 * 1) include 
 * 2) include 
 * 3) include 
 * 4) define DB double
 * 5) define DO(x,y) for(x=0;x<y;x++)
 * 1) include
 * 1) define Re(x) x.real
 * 2) define Im(x) x.imag
 * 3) define I z_type(0.,1.)


 * 1) include "ado.cin"
 * 2) define M(x,y) fprintf(o,"%8.4lf %8.4lf M\n",0.+x,0.+y);
 * 3) define L(x,y) fprintf(o,"%8.4lf %8.4lf L\n",0.+x,0.+y);

DB Q; 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 Q=2.; // 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{ return 0;}
 * 1) include "sunema.txt"

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; //M=10; for(m=2;m0;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; 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; }
 * 1) include "sune.cin"
 * 1) include "sune.cin"

DB SUNo=0;

z_type sunem(z_type z){ return sune(z + SUNo);}

int main{ int Max; int j,k,m,n; DB x,y, p,q, t; z_type z,c,d; // DB rr,ti; FILE *o;o=fopen("sunemplo4.eps","w");ado(o,420,1020); fprintf(o,"210 10 translate\n 100 100 scale 2 setlinecap\n"); for(m=-2;m<3;m+=1){ M(m,0)L(m,10)} for(n=0;n<11;n+=1){ M(-2,n)L(2,n)} fprintf(o,".008 W 0 0 0 RGB 2 setlinecap S\n");

Q=0; K=Q*Q; x=0; co; printf("Q=%9.4lf\n",Q); DO(n,50) { y=Re(sunem(0)); SUNo-= y-1.; printf("%19.16lf %19.16lf\n", SUNo,y);} // getchar; DO(n,402){ x=-2.01+.01*n; y=Re(sunem(x)); if(n==0) M(x,y) else L(x,y); printf("%6.1lf %18.15lf\n", x,y); if(y>10) break;} fprintf(o,".02 W 0 0 0 RGB 1 setlinejoin S\n");

Q=.5; K=Q*Q; x=0; co; printf("Q=%9.4lf\n",Q); DO(n,50) { y=Re(sunem(0)); SUNo-= y-1.; printf("%19.16lf %19.16lf\n", SUNo,y);} // getchar; DO(n,400){ x=-2.01+.01*n; y=Re(sunem(x)); if(n==0) M(x,y) else L(x,y); printf("%6.1lf %18.15lf\n", x,y); if(y>10) break;} fprintf(o,".01 W .7 0 .6 RGB 1 setlinejoin S\n");

Q=1; K=Q*Q; x=0; co; printf("Q=%9.4lf\n",Q); DO(n,50) { y=Re(sunem(0)); SUNo-= y-1.; printf("%19.16lf %19.16lf\n", SUNo,y);} // getchar; DO(n,400){ x=-2.01+.01*n; y=Re(sunem(x)); if(n==0) M(x,y) else L(x,y); printf("%6.1lf %18.15lf\n", x,y); if(y>10) break;} fprintf(o,".02 W .8 .2 0 RGB 1 setlinejoin S\n");

Q=2; K=Q*Q; x=0; co; printf("Q=%9.4lf\n",Q); DO(n,50) { y=Re(sunem(0)); SUNo-= y-1.; printf("%19.16lf %19.16lf\n", SUNo,y);} // getchar; DO(n,400){ x=-2.01+.01*n; y=Re(sunem(x)); if(n==0) M(x,y) else L(x,y); printf("%6.1lf %18.15lf\n", x,y); if(y>10) break;} fprintf(o,".02 W 0 .6 0 RGB 1 setlinejoin S\n");

/* Q=3; K=Q*Q; SUNo=-2.; co; printf("Q=%9.4lf\n",Q); DO(n,50) { y=Re(sunem(0)); SUNo-= y-1.; printf("%19.16lf %19.16lf\n", SUNo,y);} // getchar; DO(n,40){ x=-2.01+.1*n; y=Re(sunem(x)); if(n==0) M(x,y) else L(x,y); printf("%6.1lf %18.15lf\n", x,y); if(y>10) break;} fprintf(o,".02 W 0 0 .8 RGB 1 setlinejoin S\n");

Q=4; K=Q*Q; SUNo=-8.; co; printf("Q=%9.4lf\n",Q); DO(n,50) { y=Re(sunem(0)); SUNo-= y-1.; printf("%19.16lf %19.16lf\n", SUNo,y);} // getchar; DO(n,40){ x=-2.01+.1*n; y=Re(sunem(x)); if(n==0) M(x,y) else L(x,y); printf("%6.1lf %18.15lf\n", x,y); if(y>10) break;} fprintf(o,".02 W 0 0 .8 RGB 1 setlinejoin S\n");

Q=5; K=Q*Q; SUNo=-20.; co; printf("Q=%9.4lf\n",Q); DO(n,50) { y=Re(sunem(0)); SUNo-= y-1.; printf("%19.16lf %19.16lf\n", SUNo,y);} // getchar; DO(n,40){ x=-2.01+.1*n; y=Re(sunem(x)); if(n==0) M(x,y) else L(x,y); printf("%6.1lf %18.15lf\n", x,y); if(y>10) break;} fprintf(o,".02 W 0 0 .8 RGB 1 setlinejoin S\n");

Q=6; K=Q*Q; SUNo=-30.; co; printf("Q=%9.4lf\n",Q); DO(n,50) { y=Re(sunem(0)); SUNo-= y-1.; printf("%19.16lf %19.16lf\n", SUNo,y);} // getchar; DO(n,40){ x=-2.01+.1*n; y=Re(sunem(x)); if(n==0) M(x,y) else L(x,y); printf("%6.1lf %18.15lf\n", x,y); if(y>10) break;} fprintf(o,".02 W 0 0 .8 RGB 1 setlinejoin S\n");

Q=7; K=Q*Q; SUNo=-60.; co; printf("Q=%9.4lf\n",Q); DO(n,50) { y=Re(sunem(0)); SUNo-= y-1.; printf("%19.16lf %19.16lf\n", SUNo,y);} // getchar; DO(n,40){ x=-2.01+.1*n; y=Re(sunem(x)); if(n==0) M(x,y) else L(x,y); printf("%6.1lf %18.15lf\n", x,y); if(y>10) break;} fprintf(o,".02 W 0 0 .8 RGB 1 setlinejoin S\n"); Q=8; K=Q*Q; SUNo=-100.; co; printf("Q=%9.4lf\n",Q); DO(n,50) { y=Re(sunem(0)); SUNo-= y-1.; printf("%19.16lf %19.16lf\n", SUNo,y);} // getchar; DO(n,400){ x=-2.01+.01*n; y=Re(sunem(x)); if(n==0) M(x,y) else L(x,y); printf("%6.1lf %18.15lf\n", x,y); if(y>10) break;} fprintf(o,".015 W 0 0 .8 RGB 1 setlinejoin S\n");

/* Q=10; K=Q*Q; SUNo=-150.; co; printf("Q=%9.4lf\n",Q); DO(n,50) { y=Re(sunem(0)); SUNo-= y-1.; printf("%19.16lf %19.16lf\n", SUNo,y);} // getchar; DO(n,400){ x=-2.01+.01*n; y=Re(sunem(x)); if(n==0) M(x,y) else L(x,y); printf("%6.1lf %18.15lf\n", x,y); if(y>10) break;} fprintf(o,".015 W 0 0 .8 RGB 1 setlinejoin S\n");

fprintf(o,"showpage\n%cTrailer",'%'); fclose(o);

system("epstopdf sunemplo4.eps"); system( "open sunemplo4.pdf"); //mac

return 0; }

Latex generator of curves
\documentclass{mcom-l} % \documentclass[12pt]{article} \usepackage{graphics} \paperwidth 408pt \paperheight 1008pt \usepackage{geometry} \usepackage{rotating} \textwidth 2560pt \textheight 2260pt \topmargin -98pt \oddsidemargin -84pt \parindent 0pt \pagestyle{empty} \newcommand \ing {\includegraphics} \newcommand \sx {\scalebox} \newcommand \rot {\begin{rotate}} \newcommand \ero {\end{rotate}} \begin{document}

\begin{picture}(620,1020) \put(4,0){\ing{sunemplo4}} \put(224,1000){\sx{3.4}{$y$}} \put(224,900){\sx{3.2}{$9$}} \put(224,800){\sx{3.2}{$8$}} \put(224,700){\sx{3.2}{$7$}} \put(224,600){\sx{3.2}{$6$}} \put(224,500){\sx{3.2}{$5$}} \put(224,400){\sx{3.2}{$4$}} \put(224,300){\sx{3.2}{$3$}} \put(224,200){\sx{3.2}{$2$}} \put(225, 99){\sx{3.2}{$1$}} %\put(420, -7){\sx{3.3}{$0$}} \put( 88,14){\sx{3.3}{$-1$}} \put(207,14){\sx{3.3}{$0$}} \put(308,14){\sx{3.3}{$1$}} \put(398,14){\sx{3.4}{$x$}} \put(322,932){\sx{3.4}{\rot{88}$q\!=\!8$\ero}}% \put(348,834){\sx{3.4}{\rot{87}$q\!=\!2$\ero}}% \put(361,734){\sx{3.4}{\rot{86}$q\!=\!1$\ero}}% \put(372,614){\sx{3.4}{\rot{85}$q\!=\!0.5$\ero}}% \put(392,518){\sx{3.4}{\rot{83}$q\!=\!0$\ero}}% \end{picture} \end{document}