File:AuZexMapT.jpg

From TORI
Revision as of 17:37, 26 August 2025 by T (talk | contribs) (misprints)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Original file(4,367 × 4,326 pixels, file size: 1.53 MB, MIME type: image/jpeg)


Complex map of function AuZex, inverse function of SuZex and Abel function of function zex.

\(u\!+\!v=\mathrm{AuZex}(x\!+\!\mathrm i y)\)

See the AuZex approximation for the details.

This map is used as Fig.11.7 at page 144 of book «Superfunctions», 2020 [1][2]
in order to show the asymptotic behavior of function AuZex.

C++ generator of curves

// Files Tania.cin, SuZex.cin, LambertWoCoe.inc, LambertWeCoe.cin // should be loaded in the working directory in order to compile the core 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 "tania.cin"

 #include "SuZex.cin"
 // z_type zex(z_type z) { return z*exp(z) ; }

 z_type LambertWo(z_type z){ int n,m=48; z_type d=-z;
 #include "LambertWoCoe.inc"
 z_type s=LambertWoCoe[m]*d; for(n=m-1;n>0;n--){ s+=LambertWoCoe[n]; s*=d;}
 return z*(1.+s); }

 z_type LambertWe(z_type z){ int n,m=100; z_type t=1./M_E+z; t*=2*M_E; t=sqrt(t); 
 #include "LambertWeCoe.cin"
 z_type s=LambertWeCoe[m]*t; for(n=m-1; n>0; n--) { s+=LambertWeCoe[n]; s*=t;} return -1.+s;}

 z_type LambertW(z_type z){ 
 if( abs(z)<.2 ) return LambertWo(z);
 if( abs(1./M_E+z)<.2 ) return LambertWe(z);
 return Tania(log(z)-1.);} // Except the negative part of the real axis, Tania does the LambertW well.

 DB AuZexAsyCo[66]={
 //     1.1259817765745026,
        1.1259817765744977,
 -0.16666666666666667,0.0625,-0.035185185185185185,   0.020833333333333333,-0.0097619047619047619,
   0.00035686728395061728,0.0057788485764676241,    -0.0054935515873015873,-0.0025850528358244408,
   0.012198640046296296,-0.0064941110501851844,    -0.026451479667987191,0.047851552440450232,
   0.053758729874794383,-0.27073626193208126,    -0.0065521186641040204,1.6278812626136699,
   -1.6076876900940989,-10.838187174665133,    24.785092910583443,78.1860907900493,
   -340.82033939567854,-562.09669036948494,    4908.2972195975399,2830.3348202280227,
   -77032.682625139301,31753.861334668919,    1.3308075281671887e6,-1.9538825394585991e6,
   -2.5276072666444939e7,6.8487621133842322e7,    5.2387590408716527e8,-2.2452803031477711e9,
   -1.1695088667110365e10,7.5450114071773863e10,    2.7518770516521089e11,-2.679843770347832e12,
   -6.5513897892809159e12,1.0183199942874624e14,    1.4245100909222102e14,-4.1590749536758109e15,
   -1.7035860994968719e15,1.8277639374581802e17,    -1.0679787375232343e17,-8.6360007004109277e18,
   1.4065535508735497e19,4.3787928905903592e20,    -1.2109904910255305e21,-2.3763215966256672e22,
   9.6017875634223775e22,1.3758361324208134e24,    -7.5814699303356225e24,-8.4659910118430712e25,
   6.1398187270988087e26,5.5112074423601013e27,    -5.1693736994996277e28,-3.773953811181416e29,
   4.5556026027743353e30,2.6980978199281418e31,    -4.2167875664888744e32,-1.9922345654966198e33,
   4.1064414540582216e34,1.4932212480440397e35,    -4.2098201366546206e36 };
  z_type AuZexAsy(z_type z){ int m=15,n; z_type s;
  s=AuZexAsyCo[m]*z;   for(n=m-1;n>0;n--){s+=AuZexAsyCo[n]; s*=z;}
  return s + AuZexAsyCo[0] + .5*log(z)-1./z;}

  double AuZexCo[46]={0,
   1.4011764331478447,-1.2313176379841106,   1.1612567820116564,-1.123126930577658,
   1.0992876544297898,-1.0830479804216504,   1.0713113178859344,-1.0624516150969114,
   1.0555359459048546,-1.049992436340172,    1.0454519353364795,-1.0416660012642422,
   1.0384615628127265,-1.035714498198056,    1.0333335508961627,-1.0312501692201073,
   1.0294118808316126,-1.0277778512023086,   1.0263158327950879,-1.0250000237496548,
   1.0238095356162695,-1.0227272776768976,   1.0217391317101858,-1.0208333328204302,
   1.019999998732505,-1.019230767751615,     1.0185185170386828,-1.01785714143099,
   1.0172413778515972,-1.0166666648687321,   1.016131566418359,-1.015697093269014,
   1.0152, -1.148, 1.141, -1.14, 1.13, -1.12, 1.11,-1.10, 1.08, -1.06, 1.04, -1.02, 1.00 };
 z_type AuZex01(z_type z){ int n, m=39; z_type s=AuZexCo[m];
 for(n=m-1;n>0;n--) {s+= AuZexCo[n]; s*=z; }  return s;  }
 
 z_type auzex(z_type z){ int n; 
  for(n=0;n<80;n++){ 
 if(abs(z-1.)<.4) return AuZex01(z-1.)+(0.+n); 
 if(abs(z)<.1) return AuZexAsy(z)+(0.+n);; 
 z=LambertW(z); }
 printf("z= %10.5f %10.5f n=%2d what to do?\n",Re(z), Im(z), n); getchar(); 
 return 0.;}

 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=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
 FILE *o;o=fopen("AuZexMap2.eps","w");  ado(o,2002,2002);
 fprintf(o,"1001 1001 translate\n 100 100 scale\n");
 fprintf(o,"1 setlinejoin 2 setlinecap\n");
 DO(m,M1) X[m]=-10+.02*(m-.5);
 DO(n,N1) Y[n]=-10+.02*(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++){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=AuZex01(z-1.);
 // c=AuZexAsy(LambertW(z))+1.;
 c=auzex(z);
 //c=suzex(c);
 // p=abs(c-z)/(abs(c)+abs(z)); 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=1.2;q=.4;
 /*  p=9;q=.16;
  conto(o,g,w,v,X,Y,M,N,(15.3 ),-p,p); fprintf(o,".01 W .4 1 0 RGB S\n");
  conto(o,g,w,v,X,Y,M,N,(15.  ),-p,p); fprintf(o,".02 W 1 0 1 RGB S\n");
  conto(o,g,w,v,X,Y,M,N,(14.7 ),-p,p); fprintf(o,".01 W 1 .5 0 RGB S\n");
  conto(o,g,w,v,X,Y,M,N,(14.  ),-p,p); fprintf(o,".01 W .2 .2 0 RGB S\n");
  conto(o,g,w,v,X,Y,M,N,(13.  ),-p,p); fprintf(o,".01 W 0 0 0 RGB S\n");
  conto(o,g,w,v,X,Y,M,N,(12.  ),-p,p); fprintf(o,".03 W 0 0 1 RGB S\n");
  conto(o,g,w,v,X,Y,M,N,(11.  ),-p,p); fprintf(o,".01 W 0 0 0 RGB S\n");
  conto(o,g,w,v,X,Y,M,N,(10.  ),-p,p); fprintf(o,".01 W 0 0 0 RGB S\n");
  conto(o,g,w,v,X,Y,M,N, (9.  ),-p,p); fprintf(o,".03 W 0 1 1 RGB S\n");
  conto(o,g,w,v,X,Y,M,N, (8.  ),-p,p); fprintf(o,".01 W 0 0 0 RGB S\n");
  conto(o,g,w,v,X,Y,M,N, (7.  ),-p,p); fprintf(o,".01 W 0 0 0 RGB S\n");
  conto(o,g,w,v,X,Y,M,N, (6.  ),-p,p); fprintf(o,".04 W 0 .5 0 RGB S\n");
  conto(o,g,w,v,X,Y,M,N, (5.  ),-p,p); fprintf(o,".01 W 0 0 0 RGB S\n");
  conto(o,g,w,v,X,Y,M,N, (4.  ),-p,p); fprintf(o,".01 W 0 0 0 RGB S\n");
  conto(o,g,w,v,X,Y,M,N, (3.  ),-p,p); fprintf(o,".02 W 1 0 0 RGB S\n");
  conto(o,g,w,v,X,Y,M,N, (2.  ),-p,p); fprintf(o,".01 W 0 0 0 RGB S\n");
  conto(o,g,w,v,X,Y,M,N, (1.  ),-p,p); fprintf(o,".02 W .5 0 0 RGB S\n");
 */
 for(m=-8;m<8;m++)for(n=2;n<10;n+=2)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=2;n<10;n+=2)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=2;n<10;n+=2)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.  ),-2*p,2*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,"0 setlinejoin 0 setlinecap\n");
 M(-10,0)L(0,0) fprintf(o,"1 1 1 RGB .02 W S\n");
 //#include "plofu.cin"
 fprintf(o,"showpage\n");
 fprintf(o,"%c%cTrailer\n",'%','%');
 fclose(o);  free(f); free(g); free(w);
       system("epstopdf AuZexMap2.eps"); 
       system(    "open AuZexMap2.pdf"); //for macintosh
       getchar(); system("killall Preview"); // For macintosh
 }

Latex generator of labels

%
\documentclass[12pt]{article} % <br>
\paperwidth 2096px %  <br>
\paperheight 2076px %  <br>
\textwidth 2394px %  <br>
\textheight 2300px %  <br>
\topmargin -101px %  <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,2048){\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}{$x$}} %  <br>
%\put(2166, 28){\sx{7}{$x$}} %  <br>
} %  <br>
\parindent 0pt %  <br>
\sx{1}{\begin{picture}(2102,2102) % <br>
%\put(40,20){\ing{b271tMap3}} %  <br>
%\put(40,20){\ing{ExpMap}} %  <br>
\put(100,100){\ing{AuZexMap2}} %  <br>
\zoomax %  <br>
\put(258,1088){\sx{8}{\bf cut}} %  <br>
%
\put(500,1840){\sx{8}{\rot{0}$v\!=\!0.6$\ero}} %  <br>
\put(500,0310){\sx{8}{\rot{0}$v\!=\!-0.6$\ero}} %  <br>
\put(444,0510){\sx{8}{\rot{62}$u\!=\!2$\ero}} %  <br>
%
\put(1610,1312){\sx{8}{\rot{42}$v\!=\!0.2$\ero}} %  <br>
\put(1770,1082){\sx{8}{$v\!=\!0$}} %  <br>
\put(1650,0912){\sx{8}{\rot{80}$u\!=\!1.4$\ero}} %  <br>
\put(1950,0802){\sx{8}{\rot{70}$u\!=\!1.6$\ero}} %  <br>
\put(1650,0808){\sx{8}{\rot{-48}$v\!=\!-0.2$\ero}} %  <br>
%
\end{picture}} %  <br>
\end{document} %  <br>

References

  1. https://www.amazon.com/Superfunctions-Non-integer-holomorphic-functions-superfunctions/dp/6202672862 Dmitrii Kouznetsov. Superfunctions. Lambert Academic Publishing, 2020. Tools for evaluation of superfunctions, abelfunctions and non-integer iterates of holomorphic functions are collected. For a given transferfunction T, the superfunction is solution F of the transfer equation F(z+1)=T(F(z)) . The abelfunction is inverse of F. In particular, superfunctions of factorial, exp, sin are suggested. The Holomorphic extensions of the logistic sequence and those of the Ackermann functions are considered. Among ackermanns, the tetration (mainly to the base b>1) and natural pentation (to base b=e) are presented. The efficient algorithm for the evaluation of superfunctions and abelfunctions are described. The graphics and complex maps are plotted. The possible applications are discussed. Superfunctions significantly extend the set of functions, that can be used in scientific research and technical design.
  2. https://mizugadro.mydns.jp/BOOK/468.pdf Dmitrii Kouznetsov. Superfunctions. Lambert Academic Publishing, 2020.

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,367 × 4,326 (1.53 MB)Maintenance script (talk | contribs)Importing image file

The following 2 pages use this file:

Metadata