File:SuZexoMapJPG.jpg

From TORI
Jump to navigation Jump to search

Original file(4,576 × 4,542 pixels, file size: 1.73 MB, MIME type: image/jpeg)

The PNG version of this image, if est, http://tori.ils.uec.ac.jp/TORI/index.php/File:SuZexoMapT.png fails: Error creating thumbnail: Invalid thumbnail parameters. For this reason, the JPG version is loaded.

Description

SuZex approximation at large values of the argument. Complex map of the asymptotic expansion $Q_{20}$ of function SuZex; $~u\!+\!\mathrm i v\!=Q_{20}\!(x\!+\!\mathrm i y)$.

$(1) ~ ~ ~ \displaystyle \mathrm{SuZex}(z-x_1)\approx Q_N(z)=\frac{1}{z} ~\sum_{n=0}^{N}~ z^{-n}~ \sum_{m=0}^n ~ a_{n,m} \ell^m$

where $\ell=\ln(-z)$.

Parameter $~x_1\!\approx\! -1.1259817765745026~$ is chosen in order to provide condition $~\mathrm{zex}^k\!\Big(\mathrm{SuZex}(-k)\Big)=1$.

Coefficients $a$ are calculated substituting the approximation (1) into the transfer equation

$(2) ~ ~ ~ \mathrm{SuZex}(z\!+\!1)= \mathrm{zex}\!\Big( \mathrm{SuZex}(z) \Big)$

and the expansion by orders of $1/z$. Here zex(z)$\,=z\,\exp(z)~$.
It is assumed, that at $~z\mapsto z\!+\!1~$, parameter $\ell$ converts to $~\ell+\ln(1\!+\!1/z)$

The expansion $Q_{20}(z)$ provides of order of 15 decimal digits at $~|\Im(z)|\!>\!8~$ and at $\Big($ $\Re(z)\!<\!2~$, $~|z|>8~$ $\Big)~$.
The approximation fails at $~|z\!-\!1.5|<2~$ and at $~\Big($ $\Re(z)\!>\!1~$, $~|\Im(z)|<2~$ $\Big)~$.

C++ generator of curves

// Files ado.cin. conto.cin, SuZexCoef20.cin, SuZexTay2008co.cin, SuZexTay0co.cin

//should be loaded to the working directory 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 complex<double> z_type;
#define Re(x) x.real()
#define Im(x) x.imag()
#define I z_type(0.,1.)
#include "conto.cin"
// #include "fsexp.cin"
//#include "fslog.cin"

/*

z_type zex(z_type z) { return z*exp(z);}
z_type suzexo(z_type z){ int n,m; z_type L=log(-z); z_type c[20]; z_type s;
#include "SuZexCoef20.cin"
c[0]=-1.; c[1]=.5*L;
for(n=2;n<21;n++){ s=a[n][n]; 
                   for(m=n-1; m>=0; m--){ s*=L; s+=a[n][m]; }
                   c[n]=s; }
s=c[20]/z; for(n=19;n>=0;n--){ s+=c[n]; s/=z;}
return s;
}
 z_type suzex2008t12(z_type z){ int n,m=80; z_type s;
 #include "SuZexTay2008co.cin"
 s=c[m]; for(n=m-1;n>=0;n--){ s*=z; s+=c[n];}
 return s;}
 z_type SuZexTay0(z_type z){ int n,m=96; z_type s;
 #include "SuZexTay0co.cin"
 s=SuZexTay0co[m]; for(n=m-1;n>=0;n--){ s*=z; s+=SuZexTay0co[n];}
 return s;}
z_type suzex(z_type z){int m,n; z_type s;
if( abs(z) < 1.6 )                   return SuZexTay0(z) ; // I made the Taylor expansion for this case
if( Re(z)>0 && fabs(Im(z))<1.5){n=int(Re(z)+.5); s=SuZexTay0(z-(0.+n)); DO(m,n) s=zex(s); return s;}
 z+=-1.1259817765745026;     // WARNING! ARGUEMENT CHANGES ITS VALUE!
if( abs(z+12.) < 8.1 )               return suzex2008t12(z+12.) ; // I made the Taylor expansion for this case
if( Re(z)<-12. || fabs(Im(z)) > 8. ) return suzexo(z); // definitely, |z|>8
n= int(Re(z)+12.); s=suzex2008t12(z+12.-(0.+n)); DO(m,n) s=zex(s); return s;
} 
// Copyleft 2012 by Dmitrii Kouznetsov
*/
#include "SuZex.cin"
main(){ int j,k,m,n; DB x,y, p,q, t; z_type z,c,d, cu,cd;
//DB x1=-1.1259817765745026; DO(n,8){ y=Re(suzex(x1)); x=y-1.; x1+=-1.2*x; printf("%18.16f %18.16f\n", x1,y);} getchar();
int M=551,M1=M+1;
int N=400,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
FILE *o;o=fopen("SuZexoMap.eps","w");  ado(o,2202,2202);
fprintf(o,"1101 1101 translate\n 100 100 scale\n");
fprintf(o,"1 setlinejoin 2 setlinecap\n");
DO(m,M1) X[m]=-11.+.04*(m-.5);
//DO(n,N1) Y[n]=-11.+.04*(n-.5); 
for(n=0;n<N1;n++) { Y[n]=1.09*sinh((3./200.)*(n-200)); printf("%3d %9.6f\n",n,Y[n]); }
for(m=-10;m<11;m++){if(m==0){M(m,-20)L(m,20)} else {M(m,-10)L(m,10)}  }
for(n=-10;n<11;n++) {M(  -10,n)L(10,n)} fprintf(o,".006 W 0 0 0 RGB S\n");
DO(m,M1)DO(n,N1){      g[m*N1+n]=999;
                       f[m*N1+n]=999;}
DO(m,M1){x=X[m]; if(m/10*10==m) printf("x=%6.3f\n",x);
DO(n,N1){y=Y[n]; z=z_type(x,y); //if(abs(z+2.)>.019)
//c=suzex(z);
// c=sin(z);
//d=suzexTaylo(z);
// d=zex(suzexTaylo(z-1.));
//c=suzex2008t12(z+(12.-1.1259817765745026));
 c=suzexo(z-1.1259817765745026);
// d=zex(suzex2008(z-1.));
//d =suzexo(z);
//d=zex(suzexo(z-1.));
// p=abs(c-d)/(abs(c)+abs(d)); p=-log(p)/log(10.); if(p>0 && p<17) g[m*N1+n]=p;
 p=Re(c); q=Im(c); if(p>-19 && p<19 && ( x<2. ||  fabs(q)>1.e-12 && fabs(p)>1.e-12) ){ g[m*N1+n]=p;f[m*N1+n]=q;}
       }}
fprintf(o,"1 setlinejoin 1 setlinecap\n");
 p=2.;q=.5;
/*
 conto(o,g,w,v,X,Y,M,N, (1.  ),-p,p); fprintf(o,".02 W .5 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N, (2.  ),-p,p); fprintf(o,".02 W 0 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N, (3.  ),-p,p); fprintf(o,".04 W 0 1 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N, (4.  ),-p,p); fprintf(o,".02 W 0 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N, (5.  ),-p,p); fprintf(o,".02 W 0 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N, (6.  ),-p,p); fprintf(o,".04 W 0 1 1 RGB S\n");
 conto(o,g,w,v,X,Y,M,N, (7.  ),-p,p); fprintf(o,".02 W 0 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N, (8.  ),-p,p); fprintf(o,".02 W 0 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N, (9.  ),-p,p); fprintf(o,".04 W 0 0 1 RGB S\n");
 conto(o,g,w,v,X,Y,M,N,(10.  ),-p,p); fprintf(o,".02 W 0 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N,(11.  ),-p,p); fprintf(o,".02 W 0 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N,(12.  ),-p,p); fprintf(o,".04 W 1 0 1 RGB S\n");
 conto(o,g,w,v,X,Y,M,N,(13.  ),-p,p); fprintf(o,".02 W 0 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N,(14.  ),-p,p); fprintf(o,".02 W 0 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N,(15.  ),-3,3); fprintf(o,".04 W 0 .4 0 RGB S\n");
*/
for(m=-8;m<8;m++)for(n=1;n<10;n+=1)conto(o,f,w,v,X,Y,M,N,(m+.1*n),-q,q);fprintf(o,".007 W 0 .6 0 RGB S\n");
for(m=0;m<8;m++) for(n=1;n<10;n+=1)conto(o,g,w,v,X,Y,M,N,-(m+.1*n),-q,q);fprintf(o,".007 W .9 0 0 RGB S\n");
for(m=0;m<8;m++) for(n=1;n<10;n+=1)conto(o,g,w,v,X,Y,M,N, (m+.1*n),-q,q);fprintf(o,".007 W 0 0 .9 RGB S\n");
for(m= 1;m<17;m++) conto(o,f,w,v,X,Y,M,N, (0.-m),-p,p);fprintf(o,".02 W .8 0 0 RGB S\n");
for(m= 1;m<17;m++) conto(o,f,w,v,X,Y,M,N, (0.+m),-p,p);fprintf(o,".02 W 0 0 .8 RGB S\n");
               conto(o,f,w,v,X,Y,M,N, (0.  ),-p,p); fprintf(o,".02 W .5 0 .5 RGB S\n");
for(m=-16;m<17;m++)conto(o,g,w,v,X,Y,M,N,(0.+m),-p,p);fprintf(o,".02 W 0 0 0 RGB S\n");
//  fprintf(o,"-12 0 8 10 350 arc 1 .3 0 RGB .06 W S\n");
//#include "plofu.cin"
//  fprintf(o,"0 setlinejoin 0 setlinecap\n");
fprintf(o,"showpage\n");
fprintf(o,"%c%cTrailer\n",'%','%');
fclose(o);  free(f); free(g); free(w);
      system("epstopdf SuZexoMap.eps"); 
      system(    "open SuZexoMap.pdf"); //for macintosh
      getchar(); system("killall Preview"); // For macintosh
}

Latex generator of labels

% %<br> \documentclass[12pt]{article} % <br> \paperwidth 2196px % <br> \paperheight 2180px % <br> \textwidth 2394px % <br> \textheight 2300px % <br> \topmargin -110px % <br> \oddsidemargin -78px % <br> \usepackage{graphics} % <br> \usepackage{rotating} % <br> \newcommand \sx {\scalebox} % <br> \newcommand \rot {\begin{rotate}} % <br> \newcommand \ero {\end{rotate}} % <br> \newcommand \ing {\includegraphics} % <br> \newcommand \rmi {\mathrm{i}} % <br> \parindent 0pt \pagestyle{empty} \begin{document} % <br> \newcommand \zoomax { % <br> \put(40,2148){\sx{8}{$y$}} % <br> \put(40,1880){\sx{7}{$8$}} % <br> \put(40,1680){\sx{7}{$6$}} % <br> \put(40,1480){\sx{7}{$4$}} % <br> \put(40,1280){\sx{7}{$2$}} % <br> \put(40,1080){\sx{7}{$0$}} % <br> \put(-12,880){\sx{7}{$-2$}} % <br> \put(-12,680){\sx{7}{$-4$}} % <br> \put(-12,480){\sx{7}{$-6$}} % <br> \put(-12,280){\sx{7}{$-8$}} % <br> \put(002, 28){\sx{7}{$-\!10$}} % <br> \put(220, 28){\sx{7}{$-8$}} % <br> \put(420, 28){\sx{7}{$-6$}} % <br> \put(620, 28){\sx{7}{$-4$}} % <br> \put(820, 28){\sx{7}{$-2$}} % <br> \put(1088, 28){\sx{7}{$0$}} % <br> \put(1288, 28){\sx{7}{$2$}} % <br> \put(1488, 28){\sx{7}{$4$}} % <br> \put(1688, 28){\sx{7}{$6$}} % <br> \put(1888, 28){\sx{7}{$8$}} % <br> \put(2058, 28){\sx{7}{$10$}} % <br> \put(2166, 28){\sx{7}{$x$}} % <br> } % <br> \parindent 0pt % <br> \sx{1}{\begin{picture}(2200,2200) % <br> %\put(40,20){\ing{b271tMap3}} % <br> %\put(40,20){\ing{ExpMap}} % <br> \put(0,0){\ing{SuZexoMap}} % <br> \zoomax % <br> \put(0648,1877){\sx{8.2}{\rot{47}$v\!=\!0.1$\ero}} % <br> \put(1138,1900){\sx{8.2}{\rot{90}$u\!=\!0$\ero}} % <br> % <br> \put(276,1504){\sx{7.8}{\rot{24}$u\!=\!0.1$\ero}} % <br> \put(666,1254){\sx{7}{\rot{31}$u\!=\!0.2$\ero}} % <br> \put(820,1170){\sx{6}{\rot{42}$u\!=\!0.3$\ero}} % <br> \put(920,1150){\sx{5.6}{\rot{42}$u\!=\!0.4$\ero}} % <br> % <br> \put(1766,1704){\sx{8}{\rot{-38}$u\!=\!-0.1$\ero}} % <br> \put(1758,1238){\sx{8}{$v\!=\!0$}} % <br> \put(258,1082){\sx{8}{$v\!=\!0$}} % <br> \put(1708,1082){\sx{8}{\bf cut}} % <br> \put(1758,0923){\sx{8}{$v\!=\!0$}} % <br> \put(1850,497){\sx{8}{\rot{40}$u\!=\!-0.1$\ero}} % <br> % <br> \put(626,600){\sx{7}{\rot{68}$v\!=\!-0.1$\ero}} % <br> \put(1138,200){\sx{8.2}{\rot{85}$u\!=\!0$\ero}} % <br> \end{picture}} % <br> \end{document} % <br>

File history

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

Date/TimeThumbnailDimensionsUserComment
current17:50, 20 June 2013Thumbnail for version as of 17:50, 20 June 20134,576 × 4,542 (1.73 MB)Maintenance script (talk | contribs)Importing image file

The following 2 pages use this file:

Metadata