File:SuExp6termsTestQ2mapT.png

From TORI
Revision as of 09:38, 11 February 2026 by T (talk | contribs) (T uploaded a new version of File:SuExp6termsTestQ2mapT.png)
Jump to navigation Jump to search

Original file(1,544 × 1,524 pixels, file size: 191 KB, MIME type: image/png)

Summary


Testing of compatibility of the 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 «Superfunctions»[1], 2020.

The map shows agreement function \[ a(z)=- \Re\!\left(\lg\left( \frac {F(G(z))-z} {F(G(z))+z} \right) \right) \] in plane \(z=x+\mathrm i y\), where \(F\) and \(G\) are implemented using the asymptotic expansions with 6 terms taken into account.

The picture suggests, that with 6 terms taken into account in the asymptotics of the functions, of order of 13 significant figures can be calculated using the complex double variables.

C++

/* Routines from ado.cin, filog.cin, Conrec6.cin, Tania.cin should be also loaded.*/

// c++ -std=c++11 SuExp6termsTestQ2map.cc -O2 -o SuExp6termsTestQ2map
// c++ -std=c++11 18.cc -O2 -o 18
#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 "ado.cin"
#include "filog.cin"
#include "Conrec6.cin"
//	DB B=1.010;  // from 10 to 12 digits along the real axis.
//	DB B=1.050;  // still proivdes 12 digits along the real axis
//	DB B=1.10;  // still proivdes 12 digits along the real axis
//	DB B=1.1046;  // still proivdes 12 digits along the real axis
//	DB B=1.1048;  // still proivdes 12 digits along the real axis
//	DB B=1.105;  // still proivdes 12 digits along the real axis
//	DB B=1.106;  // still proivdes 12 digits along the real axis
//	DB B=1.108;  // still proivdes 12 digits along the real axis
//	DB B=1.11;  // still proivdes 12 digits along the real axis
//	DB B=1.12;  //  still proivdes 12 digits along the real axis
//	DB B=1.13;  //  still proivdes 12 digits along the real axis
//	DB B=1.2;  // 
//	DB B=1.3;  // 
//	DB B=1.4;  // 
//	DB B=1.42;  // almpst the same
  DB B=sqrt(2.); // 1.4142135623730951 13 digits for Re(z)>1)
//	DB B=1.413 ; //  still proivdes 12 digits along the real axis
//	DB B=1.414 ; //  still proivdes 12 digits along the real axis
//	DB B=1.44 ; //  11 digits for Re(z) > 4 ; loss of preciion
//	DB B=1.44444 ; //  still makes the comlex map
// Warning: B shoud be less than  exp(1/e) \approx 1.4446678610
DB S=log(B); 	//	Warning: many GLOBAL VARIABLES
DB Q=Re(Filog(S-I*1.e-14)); // 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 function 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 T5=S*T4; // T'''''(Q) 
DB T6=S*T5; // T''''''(Q) 
DB K=log(T1); // in Book, k by formula (6.9) // but here, the Global variables are UPPERCASE.
//DB Xmin=-8./K; // for 4 coefficienta, estimate: log(10^-15)/5/K; exp(5Kx)  should be ~ 10^-15 
//DB Xmin=-6./K; // empiric for 6 coefficients. 
DB Xmin=-5./K; // empiric for 6 coefficients. 
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 A5 = ( T2*(A4+A2*A3)+ T3*(A3+A2*A2)/2. + T4*A2/6. + T5/120.) / ((T1*T1*T1*T1-1.)*T1);
DB A6 = ( T2*(A5+A2*A4+A3*A3/2.)+ T3*(A4+2.*A2*A3)/2. + T4*(A3+A2*A2)/6. + T5*A2/24.+T6/720.) / ((T1*T1*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;
DB U5=6.*A2*A4+3.*A3*A3+14*A2*A2*A2*A2-A1*A1*A1*A5-21.*A2*A2*A3;
DB U6=7.*A2*A5+7.*A3*A4+84*A2*A2*A2*A3-A6-28.*A2*A3*A3-42.*A2*A2*A2*A2*A2-28.*A2*A2*A4;

z_type F0(z_type z){ z_type e=exp(K*z);
return Q+e*(1.+e*(A2+e*(A3+e*(A4+e*(A5+e*A6)))));
}

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

z_type G0(z_type z){ 
	z_type v=z-Q;
	z_type c = v*(1.+v*(U2+v*(U3+v*(U4+v*(U5+v*U6)))));
	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);
	//	if(abs(z-Q)<.005) return G0(z)+(0.+n);
		if(abs(z-Q)<.006) return G0(z)+(0.+n);
		z=Tm(z); 
		}
return G0(z)+(0.+n);
}

DB Xzero=Re(Gn(Q+1.));

z_type G(z_type z) {return Gn(z)-Xzero; }

z_type F(z_type z) {return Fn(z+Xzero); }

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); 
printf("T5,A5,U5  : %18.16lf %18.16lf %19.16lf\n",T5,A5,U5); 
printf("T6,A6,U6  : %18.16lf %18.16lf %19.16lf\n",T6,A6,U6); 
// 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("SuExp6termsTestQ2map.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-.1);
        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=G(z);
//c=F(z);
//c=Gn(z);
c=F(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=1;
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,".06 W 1 0 0 RGB S\n");
Conrec6(o,g,X,Y,M1,N1, 11 ,p); fprintf(o,".06 W .6 .6 0 RGB S\n");
Conrec6(o,g,X,Y,M1,N1, 12 ,p); fprintf(o,".06 W 0 1 0 RGB S\n");
Conrec6(o,g,X,Y,M1,N1, 13 ,p); fprintf(o,".06 W 0 1 1 RGB S\n");
Conrec6(o,g,X,Y,M1,N1, 14 ,p); fprintf(o,".02 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 SuExp6termsTestQ2map.eps"); 
     system(    "open SuExp6termsTestQ2map.pdf"); //for mac
}

Output

At the run, the code above produces the following output:

B, S, Q   : 1.4142135623730951 0.3465735902799727  3.9999999999999987
T0,T1,K,IP: 3.9999999999999991 1.3862943611198906  0.3266342599782809 19.2361490420428574
T2,A2,U2  : 0.4804530139182014 0.4485874311952613 -0.4485874311952613
T3,A3,U3  : 0.1665123259944648 0.1903722467978068  0.2120891200549198
T4,A4,U4  : 0.0577087746457709 0.0778295765369683 -0.1021843675069717
T5,A5,U5  : 0.0200003372196427 0.0309358603057080  0.0496986830373718
T6,A6,U6  : 0.0069315886770217 0.0114140886054668 -0.0236995531625204

The values above agree with those from Table 9.1 at page 107 of book «Superfunctions» [1], 2020.
Superexponentials to this base (\(b\!=\!\sqrt{2}\)) are considered also at Mathematics of Computations [2], 2010.

Latex

\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(20,20){\ing{SuExp6termsTestQ2map}}
\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(84,540){\sx{13}{\(a\!=\!12\)}}
\put(740,1120){\sx{13}{\(\!a=\!13\)}}
\put(730,570){\sx{13}{\(\!a=\!14\)}}
\end{picture}}
\end{document}

References

  1. 1.0 1.1 https://mizugadro.mydns.jp/BOOK/468.pdf D.Kouznetsov. Superfunctions. Lambert Academic Publishing, 2020.
  2. https://www.ams.org/journals/mcom/2010-79-271/S0025-5718-10-02342-2/home.html
    https://mizugadro.mydns.jp/PAPERS/2010sqrt2.pdf D.Kouznetsov, H.Trappmann. Portrait of the four regular super-exponentials to base sqrt(2). Mathematics of Computation, 2010, v.79, p.1727-1756.

File history

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

Date/TimeThumbnailDimensionsUserComment
current09:38, 11 February 2026Thumbnail for version as of 09:38, 11 February 20261,544 × 1,524 (191 KB)T (talk | contribs)Corrected misprints in the code of the main routine. Reduced number of iterates. Reduced font-size of the labels.
04:09, 10 February 2026Thumbnail for version as of 04:09, 10 February 20261,544 × 1,524 (258 KB)T (talk | contribs){{oq|SuExp6termsTestQ2mapT.png|Original file ‎(1,544 × 1,524 pixels, file size: 258 KB, MIME type: image/png)|400}} Testing of compatibility of the 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, [[Sqrt2...

There are no pages that use this file.

Metadata