File:SuExp4termsTestQ2mapT.png
Original file (1,544 × 1,524 pixels, file size: 308 KB, MIME type: image/png)
Summary
Testing of compatibility of the primitive implementations of the infinitely growing SuperExponential \(F\) and the corresponding growing AbelExponential \(G\) for base \(b \in (1,\exp(1/\mathrm e))\).
For the first tests, value \(b=\sqrt{2} \) is chosen: for this specific value, the efficient implementations of the superfinctions and the abelfuncitons are aleady loaded, Sqrt2f21e.cin, Sqrt2f21l.cin, Sqrt2f23e.cin, Sqrt2f43e.cin, Sqrt2f45e.cin, Sqrt2f45l.cin.
They are described in book «Superfunctins» [1], 2020.
The map shows agreement \[ a(z)=- \lg\left( \frac {|F(G(z))-z|} {|F(G(z))|+|z|} \right) \] in plane \(z=x+\mathrm i y\).
The pitiure suggests, that with 4 terms taken into account in the asymptotics of the functions, of order of 11 significant figures can be calculated using the complex double variables. The better precision can be achieved taking into account more terms in the expansions.
Warning: the primitive code below is dirty; it is the first draft version that begins to show some reasonable output.
C++
/* Files ado.cin, filog.cin, Conrec6.cin, Tania.cin should be also loaded.*/
// c++ -std=c++11 SuExp4termsTestQ2map.cc -O2 -o SuExp4termsTestQ2map
#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 "ado.cin"
#include "filog.cin"
#include "Conrec6.cin"
//DB B=1.1;
//DB B=1.42;
DB B=sqrt(2.);
DB S=log(B); // !!!! Warning! Be careful! GLOBAL VARIABLES !!!!
DB Q=Re(Filog(S-I*1.e-12)); // in Book, it is fixed point L
#define T(z) (exp(S*z))
#define Tm(z) (log(z)/S)
DB T0=T(Q); //Do not confuse T0 with funciton T; it is just test.
DB T1=S*T0; // T'(Q)
DB T2=S*T1; // T''(Q)
DB T3=S*T2; // T'''(Q)
DB T4=S*T3; // T''''(Q)
DB K=log(T1); // in Book, k by formula (6.9) // but here, the Global variables are UPPERCASE.
DB Xmin=-8./K; // log(10^-15)/5/K; exp(5Kx) should be of order of 10^-15 ; minima Re(z) that still needs iterate
//DB Xmin=-4./K; //temporal plug
//DB Xmin=-1./K; //test; still shoult provide the camer-reafy map
DB iP=2*M_PI/K; // in Book, (9.7), imahinary period.
//z_type e=exp(K*z) //in in Book, it is \varepsiolon by (6.3) .. oops.. I cannot assign it here, I do not know z.
DB A0=Q;
DB A1=1.;
DB A2=.5*T2/(T1*(T1-1.));
DB A3=(T2*A2+T3/6.)/((T1*T1-1.)*T1);
DB A4 = ( T2*(A3+A2*A2/2.) + T3*A2/2. + T4/24. ) / ((T1*T1*T1-1.)*T1);
DB U0=Q;
DB U1=1.;
DB U2=-A2;
DB U3=2.*A2*A2-A3;;
DB U4=5.*A2*A3-A4-5.*A2*A2*A2;
z_type F0(z_type z){ z_type e=exp(K*z);
return Q+e*(1.+e*(A2+e*(A3+e*A4)));
}
z_type Fn(z_type z){ z_type c; DB x=Re(z); int n,N;
N=int(x-Xmin);
if(N<1) return F0(z);
c= F0(z-double(N));
for(n=0;n<N;n++) c=exp(S*c);
return c;
}
// additional keys for numbers work again. And now fail again.. Now work..
z_type G0(z_type z){
z_type v=z-Q;
z_type c = v*(1.+v*(U2+v*(U3+v*U4)));
return log(c)/K;
}
z_type Gn(z_type z) // WARNING! Q is global; Tm is also just defined above..
{ int n;
for(n=0;n<31;n++)
{
if(abs(z-Q)<2.e-3) return G0(z)+(0.+n);
z=Tm(z);
}
return G0(z)+(0.+n);
}
int main(){ int j,k,m,n; DB x,y, p,q, t; z_type z,c,d;
printf("B, S, Q : %18.16lf %18.16lf %19.16lf\n",B,S,Q);
printf("T0,T1,K,IP: %18.16lf %18.16lf %19.16lf %19.16lf\n",T0,T1,K,iP);
printf("T2,A2,U2 : %18.16lf %18.16lf %19.16lf\n",T2,A2,U2);
printf("T3,A3,U3 : %18.16lf %18.16lf %19.16lf\n",T3,A3,U3);
printf("T4,A4,U4 : %18.16lf %18.16lf %19.16lf\n",T4,A4,U4);
// getchar();
int M=501,M1=M+1;
int N=751,N1=N+1;
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("SuExp142map.eps","w");ado(o,1020,1520);
//FILE *o;o=fopen("46.eps","w");ado(o,1524,1520);
FILE *o;o=fopen("SuExp4termsTestQ2map.eps","w");ado(o,1524,1520);
#define M(x,y)fprintf(o,"%9.6lf %9.6f M\n",0.+x, 0.+y);
#define L(x,y)fprintf(o,"%9.6lf %9.6f L\n",0.+x, 0.+y);
fprintf(o,"510 510 translate\n 100 100 scale 2 setlinecap 1 setlinejoin\n");
DO(m,M1) X[m]=-5.+.03*(m-.5);
DO(n,250)Y[n]=-5.+.02*(n-.2);
Y[250]=-.00001;
Y[251]= .00001;
for(n=252;n<N1;n++) Y[n]=-5.+.02*(n-1.);
DO(m,M1)DO(n,N1){g[m+M1*n]=9999; f[m+M1*n]=9999;}
DO(m,M1){x=X[m]; //printf("%5.2f\n",x);
DO(n,N1){y=Y[n]; z=z_type(x,y);
// c=Tania(z_type(-1.,-M_PI)+log(z))/(-z);
//c=Filog(z);
//c=exp(z);
//c=F(z);
//c=T(F(z-1.));
//c=Fn(z);
c=Gn(z);
c=Fn(c);
c=-log10((z-c)/(z+c));
p=Re(c);q=Im(c);
if(p>-201. && p<201. && q>-201. && q<201. ){ g[m+M1*n]=p;f[m+M1*n]=q;}
}}
fprintf(o,"1 setlinejoin 1 setlinecap\n"); p=5.;q=1;
/*
for(m=-10;m<10;m++)for(n=2;n<10;n+=2)Conrec6(o,f,X,Y,M1,N1,(m+.1*n), q); fprintf(o,".008 W 0 .6 0 RGB S\n");
for(m=0;m<10;m++) for(n=2;n<10;n+=2)Conrec6(o,g,X,Y,M1,N1,-(m+.1*n), q); fprintf(o,".008 W .9 0 0 RGB S\n");
for(m=0;m<10;m++) for(n=2;n<10;n+=2)Conrec6(o,g,X,Y,M1,N1, (m+.1*n), q); fprintf(o,".008 W 0 0 .9 RGB S\n");
for(m=1;m<21;m++) Conrec6(o,f,X,Y,M1,N1, (0.-m),p); fprintf(o,".02 W .9 0 0 RGB S\n");
for(m=1;m<21;m++) Conrec6(o,f,X,Y,M1,N1, (0.+m),p); fprintf(o,".02 W 0 0 .9 RGB S\n");
Conrec6(o,f,X,Y,M1,N1, (0. ),p); fprintf(o,".02 W .6 0 .6 RGB S\n");
for(m=-20;m<21;m++) Conrec6(o,g,X,Y,M1,N1, (0.+m),p); fprintf(o,".02 W 0 0 0 RGB S\n");
p=2;
Conrec6(o,g,X,Y,M1,N1, 30 ,p); fprintf(o,".02 W 0 0 0 RGB S\n");
Conrec6(o,g,X,Y,M1,N1, 40 ,p); fprintf(o,".02 W 0 0 0 RGB S\n");
Conrec6(o,g,X,Y,M1,N1, 50 ,p); fprintf(o,".02 W 0 0 0 RGB S\n");
Conrec6(o,g,X,Y,M1,N1,-30 ,p); fprintf(o,".02 W 0 0 0 RGB S\n");
Conrec6(o,g,X,Y,M1,N1,-40 ,p); fprintf(o,".02 W 0 0 0 RGB S\n");
Conrec6(o,g,X,Y,M1,N1,-50 ,p); fprintf(o,".02 W 0 0 0 RGB S\n");
Conrec6(o,f,X,Y,M1,N1,-30 ,p); fprintf(o,".02 W .9 0 0 RGB S\n");
Conrec6(o,f,X,Y,M1,N1,-40 ,p); fprintf(o,".02 W .9 0 0 RGB S\n");
Conrec6(o,f,X,Y,M1,N1,-50 ,p); fprintf(o,".02 W .9 0 0 RGB S\n");
Conrec6(o,f,X,Y,M1,N1, 30 ,p); fprintf(o,".02 W 0 0 .9 RGB S\n");
Conrec6(o,f,X,Y,M1,N1, 40 ,p); fprintf(o,".02 W 0 0 .9 RGB S\n");
Conrec6(o,f,X,Y,M1,N1, 50 ,p); fprintf(o,".02 W 0 0 .9 RGB S\n");
*/
p=4.;
Conrec6(o,g,X,Y,M1,N1, 1 ,p); fprintf(o,".1 W 0 0 0 RGB S\n");
Conrec6(o,g,X,Y,M1,N1, 2 ,p); fprintf(o,".02 W 0 0 0 RGB S\n");
Conrec6(o,g,X,Y,M1,N1, 3 ,p); fprintf(o,".1 W 0 0 0 RGB S\n");
Conrec6(o,g,X,Y,M1,N1, 4 ,p); fprintf(o,".02 W 0 0 0 RGB S\n");
Conrec6(o,g,X,Y,M1,N1, 5 ,p); fprintf(o,".02 W 0 0 0 RGB S\n");
Conrec6(o,g,X,Y,M1,N1, 6 ,p); fprintf(o,".1 W 0 0 0 RGB S\n");
Conrec6(o,g,X,Y,M1,N1, 7 ,p); fprintf(o,".02 W 0 0 0 RGB S\n");
Conrec6(o,g,X,Y,M1,N1, 8 ,p); fprintf(o,".04 W 0 0 0 RGB S\n");
Conrec6(o,g,X,Y,M1,N1, 9 ,p); fprintf(o,".04 W 0 0 0 RGB S\n");
Conrec6(o,g,X,Y,M1,N1, 10 ,p); fprintf(o,".04 W 1 0 0 RGB S\n");
Conrec6(o,g,X,Y,M1,N1, 11 ,p); fprintf(o,".03 W .6 .6 0 RGB S\n");
Conrec6(o,g,X,Y,M1,N1, 12 ,p); fprintf(o,".03 W 0 1 0 RGB S\n");
Conrec6(o,g,X,Y,M1,N1, 13 ,p); fprintf(o,".03 W 0 1 1 RGB S\n");
Conrec6(o,g,X,Y,M1,N1, 14 ,p); fprintf(o,".03 W 0 0 1 RGB S\n");
Conrec6(o,g,X,Y,M1,N1, 15 ,p); fprintf(o,".03 W 1 0 1 RGB S\n");
for(m=-5;m<11;m++){M(m,-5)L(m,10)}
for(n=-5;n<11;n++){M( -5,n)L(10,n)}
fprintf(o,".01 W 0 0 0 RGB S\n");
M(-5.06,0) L(5.06,0)
M(0,-5.06) L(0,10.06) fprintf(o,".03 W 0 0 0 RGB S\n");
fprintf(o,"showpage\n%c%cTrailer",'%','%'); fclose(o);
system("epstopdf SuExp4termsTestQ2map.eps");
system( "open SuExp4termsTestQ2map.pdf"); //for mac
}
<pre>
==Latex==
<pre>
\documentclass[12pt]{article}
\paperwidth 1550pt
\paperheight 1530pt
\usepackage{graphicx}
\usepackage{rotating}
\topmargin -100pt
\textheight 2750pt
\oddsidemargin -80pt
\textwidth 2512pt
\newcommand{\ing}{\includegraphics}
\newcommand{\sx}{\scalebox}
\newcommand{\rot}{\begin{rotate}}
\newcommand{\ero}{\end{rotate}}
\parindent 0px
\begin{document}
\sx{1}{\begin{picture}(1540,1540)
\put(20,20){\ing{SuExp4termsTestQ2map}}
%\put(540,1470){\sx{8}{\(y\)}}
\put(480,1494){\sx{8}{\(y\)}}
\put(480,1400){\sx{8}{\(9\)}}
\put(480,1308){\sx{8}{\(8\)}}
\put(480,1208){\sx{8}{\(7\)}}
\put(480,1108){\sx{8}{\(6\)}}
\put(480,1008){\sx{8}{\(5\)}}
\put(480, 908){\sx{8}{\(4\)}}
\put(480, 808){\sx{8}{\(3\)}}
\put(480,708){\sx{8}{\(2\)}}
\put(480,608){\sx{8}{\(1\)}}
\put(480,508){\sx{8}{\(0\)}}
\put(400,408){\sx{8}{\(-1\)}}
\put(400,302){\sx{8}{\(-2\)}}
\put(400,202){\sx{8}{\(-3\)}}
\put(400,102){\sx{8}{\(-4\)}}
\put( 50,460){\sx{8}{\(-4\)}}
\put(250,460){\sx{8}{\(-2\)}}
%\put(360,470){\sx{8}{\(-1\)}}
\put(610,460){\sx{8}{\(1\)}}
\put(710,460){\sx{8}{\(2\)}}
\put(810,460){\sx{8}{\(3\)}}
\put(910,460){\sx{8}{\(4\)}}
\put(1010,460){\sx{8}{\(5\)}}
\put(1110,460){\sx{8}{\(6\)}}
\put(1210,460){\sx{8}{\(7\)}}
\put(1310,460){\sx{8}{\(8\)}}
\put(1410,460){\sx{8}{\(9\)}}
\put(1480,464){\sx{9}{\(x\)}}
\put(104,550){\sx{13}{\(a\!=\!11\)}}
\put(730,840){\sx{13}{\(\!a=\!12\)}}
\put(730,540){\sx{13}{\(\!a=\!13\)}}
\end{picture}}
\end{document}
\end{document}
References
- ↑ https://misugadro.mydns.jp/BOOK/468.pdf D.Kouznetsov. Superfunctions. Lambert Academic Publishing, 2020.
Keywords
«[[]]», [[]] «Abelfunction», «Agreement», «Base sqrt2», «Exponential», «Superfunction», «Superfunctions»,
File history
Click on a date/time to view the file as it appeared at that time.
| Date/Time | Thumbnail | Dimensions | User | Comment | |
|---|---|---|---|---|---|
| current | 21:15, 8 February 2026 | 1,544 × 1,524 (308 KB) | T (talk | contribs) | {{oq|SuExp4termsTestQ2mapT.png|Original file (1,544 × 1,524 pixels, file size: 308 KB, MIME type: image/png)|400}} Testing of compatibility of the primitive implementations of the infinitely growing SuperExponential \(F\) and the corresponding growing AbelExponential \(G\) for base \(b \in (1,\exp(1/\mathrm e))\). For the first tests, value \(b=\sqrt{2} \) is chosen: for this specific value, the efficient implementations of the superfinctions and the abelfuncitons are aleady loaded... |
You cannot overwrite this file.
File usage
There are no pages that use this file.