Difference between revisions of "File:Olga6map.jpg"
(Importing image file) |
|||
| (2 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
| + | {{oq|Olga6map.jpg|}} |
||
| − | Importing image file |
||
| + | Complex map of the Olga function, |
||
| + | \(u+\mathrm i v= \mathrm{Olga}(x\!+\!\mathrm i y)\) |
||
| + | |||
| + | Olga is [[scaling function]] for the [[Doya function]]; it is solution of the |
||
| + | [[scaling equation]] |
||
| + | |||
| + | \[\mathrm{Doya}(\mathrm{Olga}(z))=\mathrm e\, \mathrm{Olga}(z) |
||
| + | \] |
||
| + | |||
| + | Olga can be expressed through the [[Tania function]]: |
||
| + | |||
| + | \[ |
||
| + | \mathrm{Olga}(z)=\mathrm{Tania}(\ln(z)) |
||
| + | \] |
||
| + | |||
| + | This representation is used for the C++ implementation below. |
||
| + | |||
| + | ==[[Superfunctions]]== |
||
| + | |||
| + | This image appears as figure 6.4 |
||
| + | at page 68 of book «[[Superfunctions]]»<ref> |
||
| + | https://www.amazon.co.jp/Superfunctions-Non-integer-holomorphic-functions-superfunctions/dp/6202672862 Dmitrii Kouznetsov. Superfunctions: Non-integer iterates of holomorphic functions. Tetration and other superfunctions. Formulas,algorithms,tables,graphics - 2020/7/28 |
||
| + | </ref><ref> |
||
| + | https://mizugadro.mydns.jp/BOOK/468.pdf Dmitrii Kouznetsov (2020). [[Superfunctions]]: Non-integer iterates of holomorphic functions. Tetration and other superfunctions. Formulas, algorithms, tables, graphics. Publisher: Lambert Academic Publishing. |
||
| + | </ref><br> |
||
| + | in order to show better the sense of the [[Schroederfunction]]s as analogies of |
||
| + | [[Abelfunction]]s and |
||
| + | [[Scalefunction]]s as analogies of |
||
| + | [[Superfunction]]s. |
||
| + | |||
| + | ==[[C++]] generator of map== |
||
| + | //Files [[ado.cin]] and [[conto.cin]] should be loaded in order to compile the code below: |
||
| + | //<pre> |
||
| + | #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 std::complex<double> z_type; |
||
| + | #define Re(x) x.real() |
||
| + | #define Im(x) x.imag() |
||
| + | #define I z_type(0.,1.) |
||
| + | #include "conto.cin" |
||
| + | z_type ArcTania(z_type z) {return z + log(z) - 1. ;} |
||
| + | z_type ArcTaniap(z_type z) {return 1. + 1./z ;} |
||
| + | z_type TaniaTay(z_type z) { int n; z_type s; |
||
| + | s=1.+z*(.5+z*(1./16.+z*(-1./192.+z*(-1./3072.+z*(1.3/6144.+z*(-4.7/147456. |
||
| + | //+z*(7.3/4128768.) //some reserve term |
||
| + | )))))); DO(n,3) s+=(z-ArcTania(s))/ArcTaniap(s); return s ; } |
||
| + | z_type TaniaNega(z_type z){int n;z_type s=exp(z-exp(z)+1.); |
||
| + | DO(n,4) s+=(z-ArcTania(s))/ArcTaniap(s); return s ; } |
||
| + | z_type TaniaBig(z_type z){int n;z_type s=z; s=z-log(s)+1.; |
||
| + | DO(n,3) s+=(z-ArcTania(s))/ArcTaniap(s); return s ; } |
||
| + | z_type TaniaS(z_type z){int n; z_type s,t=z+z_type(2.,-M_PI);t*=2./9.; t=I*sqrt(t); |
||
| + | s=-1.+t*(3.+t*(-3.+t*(.75+t*(.3+t*(.9/16.+t*(-.3/7.+t*(-12.51/224. //+t*(-.9/28.) |
||
| + | ))))))); |
||
| + | DO(n,3) s+=(z-ArcTania(s))/ArcTaniap(s); return s ; } |
||
| + | z_type Tania(z_type z){ z_type t; |
||
| + | if( fabs(Im(z))< M_PI && Re(z)<-2.51) return TaniaNega(z); |
||
| + | if( abs(z)>7. || Re(z)>3.8 ) return TaniaBig(z); |
||
| + | if( Im(z) > .7 ) return TaniaS(z); |
||
| + | if( Im(z) < -.7) return conj(TaniaS(conj(z))); |
||
| + | return TaniaTay(z); |
||
| + | } |
||
| + | |||
| + | int main(){ int j,k,m,n; DB x,y, p,q, t; z_type z,c,d; |
||
| + | int M=401,M1=M+1; |
||
| + | int N=603,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("taniacontour.eps","w");ado(o,1620,1620); |
||
| + | //FILE *o;o=fopen("13.eps","w");ado(o,1620,1620); |
||
| + | FILE *o;o=fopen("olga6ma.eps","w");ado(o,1220,1220); |
||
| + | fprintf(o,"610 610 translate\n 100 100 scale\n"); |
||
| + | DO(m,M1) X[m]=-6.+.03*(m); |
||
| + | DO(n,300)Y[n]=-6.+.02*n; |
||
| + | Y[300]=-.012; |
||
| + | Y[301]=-.006; |
||
| + | Y[302]= .006; |
||
| + | Y[303]= .012; |
||
| + | for(n=304;n<N1;n++) Y[n]=-6.+.02*(n-3.); |
||
| + | for(m=-6;m<7;m++){if(m==0){M(m,-6.1)L(m,6.1)} else{M(m,-6)L(m,6)}} |
||
| + | for(n=-6;n<7;n++){ M( -6,n)L(6,n)} |
||
| + | fprintf(o,".008 W 0 0 0 RGB 2 setlinecap S\n"); |
||
| + | DO(m,M1)DO(n,N1){g[m*N1+n]=9999; f[m*N1+n]=9999;} |
||
| + | DO(m,M1){x=X[m]; //printf("%5.2f\n",x); |
||
| + | DO(n,N1){y=Y[n]; z=z_type(x,y); // z*=.1; |
||
| + | c=Tania(log(z)); p=Re(c);q=Im(c); |
||
| + | if(p>-99. && p<99. && q>-99. && q<99. ){ g[m*N1+n]=p;f[m*N1+n]=q;} |
||
| + | }} |
||
| + | fprintf(o,"1 setlinejoin 2 setlinecap\n"); p=.6;q=.5; |
||
| + | for(m=-10;m<10;m++)for(n=2;n<10;n+=2)conto(o,f,w,v,X,Y,M,N,(m+.1*n),-q, q); fprintf(o,".009 W 0 .6 0 RGB S\n"); |
||
| + | for(m=0;m<10;m++) for(n=2;n<10;n+=2)conto(o,g,w,v,X,Y,M,N,-(m+.1*n),-q, q); fprintf(o,".009 W .9 0 0 RGB S\n"); |
||
| + | for(m=0;m<10;m++) for(n=2;n<10;n+=2)conto(o,g,w,v,X,Y,M,N, (m+.1*n),-q, q); fprintf(o,".009 W 0 0 .9 RGB S\n"); |
||
| + | for(m=1;m<10;m++) conto(o,f,w,v,X,Y,M,N, (0.-m),-p,p); fprintf(o,".03 W .9 0 0 RGB S\n"); |
||
| + | for(m=1;m<10;m++) conto(o,f,w,v,X,Y,M,N, (0.+m),-p,p); fprintf(o,".03 W 0 0 .9 RGB S\n"); |
||
| + | conto(o,f,w,v,X,Y,M,N, (0. ),-p,p); fprintf(o,".01 W .6 0 .6 RGB S\n"); |
||
| + | for(m=-9;m<10;m++) conto(o,g,w,v,X,Y,M,N, (0.+m),-p,p); fprintf(o,".03 W 0 0 0 RGB S\n"); |
||
| + | |||
| + | |||
| + | // M(-10.*exp(-2.),0)L(-8,0) |
||
| + | M(-exp(-2.),0)L(-8,0) |
||
| + | fprintf(o,"0 setlinecap .01 W 1 1 1 RGB S\n"); |
||
| + | |||
| + | y= 0; for(m=1;m<80;m+=4) {x=-.1353352832366127-.1*m; M(x,y) L(x-.08,y)} |
||
| + | fprintf(o,".05 W 1 .5 0 RGB S\n"); |
||
| + | y= 0; for(m=3;m<80;m+=4) {x=-.1353352832366127-.1*m; M(x,y) L(x-.08,y)} |
||
| + | fprintf(o,".05 W 0 .5 1 RGB S\n"); |
||
| + | |||
| + | fprintf(o,"showpage\n%c%cTrailer",'%','%'); fclose(o); |
||
| + | system("epstopdf olga6ma.eps"); |
||
| + | system( "open olga6ma.pdf"); |
||
| + | getchar(); system("killall Preview"); |
||
| + | } |
||
| + | //</pre |
||
| + | |||
| + | ==[[Latex]] generator of labels== |
||
| + | <pre> |
||
| + | \documentclass[12pt]{article} |
||
| + | \paperwidth 1268px |
||
| + | \paperheight 1260px |
||
| + | \textwidth 1794px |
||
| + | \textheight 1700px |
||
| + | \topmargin -98px |
||
| + | \oddsidemargin -70px |
||
| + | \usepackage{graphics} |
||
| + | \usepackage{rotating} |
||
| + | \newcommand \sx {\scalebox} |
||
| + | \newcommand \rot {\begin{rotate}} |
||
| + | \newcommand \ero {\end{rotate}} |
||
| + | \newcommand \ing {\includegraphics} |
||
| + | \newcommand \rmi {\mathrm{i}} |
||
| + | \begin{document} |
||
| + | \parindent 0pt |
||
| + | \sx{1}{\begin{picture}(1252,1230) |
||
| + | %\put(40,20){\ing{suzexD1map}} |
||
| + | %\put(40,20){\ing{ZexD6map}} |
||
| + | \put(50,20){\ing{olga6ma}} |
||
| + | \put(14,1204){\sx{6}{$y$}} |
||
| + | \put(18,1116){\sx{5}{$5$}} |
||
| + | \put(18,1016){\sx{5}{$4$}} |
||
| + | \put(18, 916){\sx{5}{$3$}} |
||
| + | \put(18, 816){\sx{5}{$2$}} |
||
| + | \put(18, 716){\sx{5}{$1$}} |
||
| + | \put(18, 616){\sx{5}{$0$}} |
||
| + | \put(-22, 516){\sx{5}{$-1$}} |
||
| + | \put(-22, 416){\sx{5}{$-2$}} |
||
| + | \put(-22, 316){\sx{5}{$-3$}} |
||
| + | \put(-22, 216){\sx{5}{$-4$}} |
||
| + | \put(-22, 116){\sx{5}{$-5$}} |
||
| + | \put(-22, 016){\sx{5}{$-6$}} |
||
| + | \put( 18, -20){\sx{5}{$-6$}} |
||
| + | \put(118, -20){\sx{5}{$-5$}} |
||
| + | \put(218, -20){\sx{5}{$-4$}} |
||
| + | \put(318, -20){\sx{5}{$-3$}} |
||
| + | \put(418, -20){\sx{5}{$-2$}} |
||
| + | \put(518, -20){\sx{5}{$-1$}} |
||
| + | \put(649, -20){\sx{5}{$0$}} |
||
| + | \put(750, -20){\sx{5}{$1$}} |
||
| + | \put(850, -20){\sx{5}{$2$}} |
||
| + | \put(950, -20){\sx{5}{$3$}} |
||
| + | \put(1050, -20){\sx{5}{$4$}} |
||
| + | \put(1150, -20){\sx{5}{$5$}} |
||
| + | \put(1234, -20){\sx{6}{$x$}} |
||
| + | \put(170, 616){\sx{6}{\bf cut}} |
||
| + | \put(1060, 614){\sx{6}{$v\!=\!0$}} |
||
| + | \put(710, 1086){\sx{6}{\rot{75}$v\!=\!1$\ero}} |
||
| + | \put(660, 222){\sx{6}{\rot{-77}$v\!=\!-1$\ero}} |
||
| + | \put(86,790){\sx{6}{\rot{-29}$v\!=\!2$\ero}} |
||
| + | \put(100, 438){\sx{6}{\rot{28}$v\!=\!-2$\ero}} |
||
| + | % |
||
| + | \put(78, 1050){\sx{6}{\rot{37}$u\!=\!2$\ero}} |
||
| + | \put(460, 668){\sx{6}{\rot{38}$u\!=\!1$\ero}} |
||
| + | |||
| + | \end{picture}} |
||
| + | \end{document} |
||
| + | </pre> |
||
| + | |||
| + | ==References== |
||
| + | {{ref}} |
||
| + | |||
| + | {{fer}} |
||
| + | ==Keywords== |
||
| + | «[[Abelfunction]]», |
||
| + | «[[Ernst Schroeder]]», |
||
| + | «[[Scalefunction]]», |
||
| + | «[[Schroederfunction]]», |
||
| + | «[[Superfunctions]]», |
||
| + | |||
| + | [[Category:Book]] |
||
| + | [[Category:BookMap]] |
||
| + | [[Category:C++]] |
||
| + | [[Category:Latex]] |
||
| + | [[Category:Olga function]] |
||
| + | [[Category:Tania function]] |
||
| + | [[Category:Schroeder function]] |
||
| + | [[Category:Schroederfunction]] |
||
| + | [[Category:Scaling function]] |
||
| + | [[Category:Scalingfunction]] |
||
| + | [[Category:Superfunction]] |
||
Latest revision as of 15:58, 20 August 2025
Complex map of the Olga function, \(u+\mathrm i v= \mathrm{Olga}(x\!+\!\mathrm i y)\)
Olga is scaling function for the Doya function; it is solution of the scaling equation
\[\mathrm{Doya}(\mathrm{Olga}(z))=\mathrm e\, \mathrm{Olga}(z) \]
Olga can be expressed through the Tania function:
\[ \mathrm{Olga}(z)=\mathrm{Tania}(\ln(z)) \]
This representation is used for the C++ implementation below.
Superfunctions
This image appears as figure 6.4
at page 68 of book «Superfunctions»[1][2]
in order to show better the sense of the Schroederfunctions as analogies of
Abelfunctions and
Scalefunctions as analogies of
Superfunctions.
C++ generator of map
//Files ado.cin and conto.cin should be loaded 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 std::complex<double> z_type;
#define Re(x) x.real()
#define Im(x) x.imag()
#define I z_type(0.,1.)
#include "conto.cin"
z_type ArcTania(z_type z) {return z + log(z) - 1. ;}
z_type ArcTaniap(z_type z) {return 1. + 1./z ;}
z_type TaniaTay(z_type z) { int n; z_type s;
s=1.+z*(.5+z*(1./16.+z*(-1./192.+z*(-1./3072.+z*(1.3/6144.+z*(-4.7/147456.
//+z*(7.3/4128768.) //some reserve term
)))))); DO(n,3) s+=(z-ArcTania(s))/ArcTaniap(s); return s ; }
z_type TaniaNega(z_type z){int n;z_type s=exp(z-exp(z)+1.);
DO(n,4) s+=(z-ArcTania(s))/ArcTaniap(s); return s ; }
z_type TaniaBig(z_type z){int n;z_type s=z; s=z-log(s)+1.;
DO(n,3) s+=(z-ArcTania(s))/ArcTaniap(s); return s ; }
z_type TaniaS(z_type z){int n; z_type s,t=z+z_type(2.,-M_PI);t*=2./9.; t=I*sqrt(t);
s=-1.+t*(3.+t*(-3.+t*(.75+t*(.3+t*(.9/16.+t*(-.3/7.+t*(-12.51/224. //+t*(-.9/28.)
)))))));
DO(n,3) s+=(z-ArcTania(s))/ArcTaniap(s); return s ; }
z_type Tania(z_type z){ z_type t;
if( fabs(Im(z))< M_PI && Re(z)<-2.51) return TaniaNega(z);
if( abs(z)>7. || Re(z)>3.8 ) return TaniaBig(z);
if( Im(z) > .7 ) return TaniaS(z);
if( Im(z) < -.7) return conj(TaniaS(conj(z)));
return TaniaTay(z);
}
int main(){ int j,k,m,n; DB x,y, p,q, t; z_type z,c,d;
int M=401,M1=M+1;
int N=603,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("taniacontour.eps","w");ado(o,1620,1620);
//FILE *o;o=fopen("13.eps","w");ado(o,1620,1620);
FILE *o;o=fopen("olga6ma.eps","w");ado(o,1220,1220);
fprintf(o,"610 610 translate\n 100 100 scale\n");
DO(m,M1) X[m]=-6.+.03*(m);
DO(n,300)Y[n]=-6.+.02*n;
Y[300]=-.012;
Y[301]=-.006;
Y[302]= .006;
Y[303]= .012;
for(n=304;n<N1;n++) Y[n]=-6.+.02*(n-3.);
for(m=-6;m<7;m++){if(m==0){M(m,-6.1)L(m,6.1)} else{M(m,-6)L(m,6)}}
for(n=-6;n<7;n++){ M( -6,n)L(6,n)}
fprintf(o,".008 W 0 0 0 RGB 2 setlinecap S\n");
DO(m,M1)DO(n,N1){g[m*N1+n]=9999; f[m*N1+n]=9999;}
DO(m,M1){x=X[m]; //printf("%5.2f\n",x);
DO(n,N1){y=Y[n]; z=z_type(x,y); // z*=.1;
c=Tania(log(z)); p=Re(c);q=Im(c);
if(p>-99. && p<99. && q>-99. && q<99. ){ g[m*N1+n]=p;f[m*N1+n]=q;}
}}
fprintf(o,"1 setlinejoin 2 setlinecap\n"); p=.6;q=.5;
for(m=-10;m<10;m++)for(n=2;n<10;n+=2)conto(o,f,w,v,X,Y,M,N,(m+.1*n),-q, q); fprintf(o,".009 W 0 .6 0 RGB S\n");
for(m=0;m<10;m++) for(n=2;n<10;n+=2)conto(o,g,w,v,X,Y,M,N,-(m+.1*n),-q, q); fprintf(o,".009 W .9 0 0 RGB S\n");
for(m=0;m<10;m++) for(n=2;n<10;n+=2)conto(o,g,w,v,X,Y,M,N, (m+.1*n),-q, q); fprintf(o,".009 W 0 0 .9 RGB S\n");
for(m=1;m<10;m++) conto(o,f,w,v,X,Y,M,N, (0.-m),-p,p); fprintf(o,".03 W .9 0 0 RGB S\n");
for(m=1;m<10;m++) conto(o,f,w,v,X,Y,M,N, (0.+m),-p,p); fprintf(o,".03 W 0 0 .9 RGB S\n");
conto(o,f,w,v,X,Y,M,N, (0. ),-p,p); fprintf(o,".01 W .6 0 .6 RGB S\n");
for(m=-9;m<10;m++) conto(o,g,w,v,X,Y,M,N, (0.+m),-p,p); fprintf(o,".03 W 0 0 0 RGB S\n");
// M(-10.*exp(-2.),0)L(-8,0)
M(-exp(-2.),0)L(-8,0)
fprintf(o,"0 setlinecap .01 W 1 1 1 RGB S\n");
y= 0; for(m=1;m<80;m+=4) {x=-.1353352832366127-.1*m; M(x,y) L(x-.08,y)}
fprintf(o,".05 W 1 .5 0 RGB S\n");
y= 0; for(m=3;m<80;m+=4) {x=-.1353352832366127-.1*m; M(x,y) L(x-.08,y)}
fprintf(o,".05 W 0 .5 1 RGB S\n");
fprintf(o,"showpage\n%c%cTrailer",'%','%'); fclose(o);
system("epstopdf olga6ma.eps");
system( "open olga6ma.pdf");
getchar(); system("killall Preview");
}
//</pre
==[[Latex]] generator of labels==
<pre>
\documentclass[12pt]{article}
\paperwidth 1268px
\paperheight 1260px
\textwidth 1794px
\textheight 1700px
\topmargin -98px
\oddsidemargin -70px
\usepackage{graphics}
\usepackage{rotating}
\newcommand \sx {\scalebox}
\newcommand \rot {\begin{rotate}}
\newcommand \ero {\end{rotate}}
\newcommand \ing {\includegraphics}
\newcommand \rmi {\mathrm{i}}
\begin{document}
\parindent 0pt
\sx{1}{\begin{picture}(1252,1230)
%\put(40,20){\ing{suzexD1map}}
%\put(40,20){\ing{ZexD6map}}
\put(50,20){\ing{olga6ma}}
\put(14,1204){\sx{6}{$y$}}
\put(18,1116){\sx{5}{$5$}}
\put(18,1016){\sx{5}{$4$}}
\put(18, 916){\sx{5}{$3$}}
\put(18, 816){\sx{5}{$2$}}
\put(18, 716){\sx{5}{$1$}}
\put(18, 616){\sx{5}{$0$}}
\put(-22, 516){\sx{5}{$-1$}}
\put(-22, 416){\sx{5}{$-2$}}
\put(-22, 316){\sx{5}{$-3$}}
\put(-22, 216){\sx{5}{$-4$}}
\put(-22, 116){\sx{5}{$-5$}}
\put(-22, 016){\sx{5}{$-6$}}
\put( 18, -20){\sx{5}{$-6$}}
\put(118, -20){\sx{5}{$-5$}}
\put(218, -20){\sx{5}{$-4$}}
\put(318, -20){\sx{5}{$-3$}}
\put(418, -20){\sx{5}{$-2$}}
\put(518, -20){\sx{5}{$-1$}}
\put(649, -20){\sx{5}{$0$}}
\put(750, -20){\sx{5}{$1$}}
\put(850, -20){\sx{5}{$2$}}
\put(950, -20){\sx{5}{$3$}}
\put(1050, -20){\sx{5}{$4$}}
\put(1150, -20){\sx{5}{$5$}}
\put(1234, -20){\sx{6}{$x$}}
\put(170, 616){\sx{6}{\bf cut}}
\put(1060, 614){\sx{6}{$v\!=\!0$}}
\put(710, 1086){\sx{6}{\rot{75}$v\!=\!1$\ero}}
\put(660, 222){\sx{6}{\rot{-77}$v\!=\!-1$\ero}}
\put(86,790){\sx{6}{\rot{-29}$v\!=\!2$\ero}}
\put(100, 438){\sx{6}{\rot{28}$v\!=\!-2$\ero}}
%
\put(78, 1050){\sx{6}{\rot{37}$u\!=\!2$\ero}}
\put(460, 668){\sx{6}{\rot{38}$u\!=\!1$\ero}}
\end{picture}}
\end{document}
References
- ↑ https://www.amazon.co.jp/Superfunctions-Non-integer-holomorphic-functions-superfunctions/dp/6202672862 Dmitrii Kouznetsov. Superfunctions: Non-integer iterates of holomorphic functions. Tetration and other superfunctions. Formulas,algorithms,tables,graphics - 2020/7/28
- ↑ https://mizugadro.mydns.jp/BOOK/468.pdf Dmitrii Kouznetsov (2020). Superfunctions: Non-integer iterates of holomorphic functions. Tetration and other superfunctions. Formulas, algorithms, tables, graphics. Publisher: Lambert Academic Publishing.
Keywords
«Abelfunction», «Ernst Schroeder», «Scalefunction», «Schroederfunction», «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 | 06:13, 1 December 2018 | 2,641 × 2,625 (866 KB) | Maintenance script (talk | contribs) | Importing image file |
You cannot overwrite this file.
File usage
There are no pages that use this file.