Sutran.cin
sutran.cin is the complex(double) C++ implementation of function SuTra.
SuTra is superfunction of the Trappmann function \[\mathrm{tra}(z)=z+\exp(z)\]
This function is described at Applied Mathematical Sciences [1], 2013 and in book «Superfunctions» [2][3].
SuTra is solution of the transfer equation \[ \mathrm{SuTra}(z+1)=\mathrm{tra}(\mathrm{SuTra}(z)) \]
function sutran(z) below returns value \(\mathrm{SuTra}(z)\) with at least 14 decimal digits, except vicinity of the positive part of the real axis, where the function shows very fast growth (similar to that of tetration) and very fast and strong oscillations.
Code
/* Here are examples of lines that should be included in the main program that calls function "sutra":
#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 "SuZex.cin"
*/
z_type tra(z_type z) {return z+exp(z);}
//z_type sutra(z_type z){ if( Re(z)<2. ) return log(suzex(z));
// return tra(sutra(z-1.));}
//old
// Warning! A is global array (to print tables)
DB A[12][12]={{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, -0.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{.16666666666666666,-.25, 0.125, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{.14583333333333334,-.2916666666666667, .1875, -0.041666666666666664, 0, 0, 0, 0, 0, 0, 0, 0},
{.14976851851851852,-.3645833333333333, .3125, -0.11458333333333333, 0.015625, 0, 0, 0, 0, 0, 0, 0},
{.16516203703703702,-.48182870370370373,.5208333333333334, -0.265625, 0.06510416666666667, -0.00625, 0, 0, 0, 0, 0, 0},
{.19026441247795414,-.6538194444444444, .8627025462962963,-.5668402777777778,.19856770833333334,-.03567708333333333,.0026041666666666665,0,0,0,0,0},
{.22588548555996474,-.8977029596560847,1.4120804398148148,-1.1461226851851851,.5244140625,-.13697916666666668,.019140625,-.0011160714285714285,0,0,0,0},
{.2753440585982335, -1.239450679287919,2.2770203993055556,-2.2204885223765434,1.265064380787037,-.43557942708333336,.08947482638888889,
-.010128348214285715, 0.00048828125, 0, 0, 0},
{.34496713297587556,-1.7211015740368936,3.6174115582286155,-4.146271460262346,2.8530207127700615,-1.2298412181712963,.3351236979166667,
-.05619264632936508, 0.005308314732142857, -0.00021701388888888888, 0, 0},
{.4437001055047508, -2.4129028854098866,5.6811843206973185,-7.499253067474096,6.09106574918017,-3.1826392505787036,1.0899427625868054,
-0.2435329861111111, 0.03426252092633929, -0.002762664310515873, 0.00009765625, 0},
{.5803465848040893, -3.4249519702286975,8.872849373873375,-13.218267068232578,12.419599208932706,-7.682385374469521,3.1971707567756558,
-0.9002970377604167, 0.1693393767826141, -0.020416066003224206, 0.0014301602802579364, -0.00004438920454545455}};
z_type sutra0(z_type z){ z+=-1.1259817765745026;
z_type L=log(-z); z_type s,w, t=1./z;
int M=11; // WARNING!! at TORI, M=11
z_type c[12]; int m,n;
for(m=1;m<=M;m++){ w=A[m][m]; for(n=m-1; n>=0; n--) {w*=L; w+=A[m][n]; }
c[m]=w;}
s=c[M]*t; for(m=M-1;m>0;m--){ s+=c[m]; s*=t;} return -L+s;
}
z_type sutran(z_type z) { DB x=Re(z); if(x<-10.) return sutra0(z); DB y=Im(z);
if( fabs(y)<6.){int n,m; n=int(x+12.); z_type c=sutra0(z-(0.+n)); DO(m,n) c=tra(c); return c;}
DB x0=x-5.; if(x0*x0+y*y >289.) return sutra0(z);
return tra(sutran(z-1.));
}
//
Warning
Historically, first, function SuTra had been implemented through function SuZex.
Some generators of pictures may use the old (and not so efficient) implementation.
References
- ↑ http://mizugadro.mydns.jp/PAPERS/2013hikari.pdf Dmitrii Kouznetsov. Entire Function with Logarithmic Asymptotic. Applied Mathematical Sciences, Vol.7, 2013, no.131, 6527 - 6541
- ↑
https://www.morebooks.de/store/ru/book/Суперфункции/isbn/978-3-659-56202-0
https://mizugadro.mydns.jp/BOOK/202.pdf Д.Кузнецов. Суперфункции. Lambert Academic Publishing, 2014 - ↑ https://mizugadro.mydns.jp/BOOK/468.pdf D.Kouznetsov. Superfunctions. Lambert Academic Publishing, 2020.
Keywords
«Sutra», «Entire function», «Logarithm», «Trappmann function», «Special function», «Superfunction», «Superfunctions», «SuTra»,