File:TraitT.jpg

From TORI
Revision as of 21:40, 12 January 2026 by T (talk | contribs) (→‎Implementation: misprint)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Original file(1,258 × 1,258 pixels, file size: 604 KB, MIME type: image/jpeg)


Fig.20.12 from page 288 of book «Superfunctions»[1], 2020.

The same picture is used also as Рис.20.12 at page 298 of the Russian version «Суперфункции» [2], 2014.

And also as Figure 5 at page 6537 of article Entire Function with Logarithmic Asymptotic [3] at Applied Mathematical Sciences, 2013.

The image shows the iterates of the Trappmann function \( \mathrm{tra} = z \mapsto z+\exp(z) \): \( y=\mathrm{tra}^n(y) \) versus \(x\) for various values of number \(n\) of iterate.

The \(n\)th iterate of the Trappmann function tra is expressed through its superfunction SuTra and the Abelfunction AuTra: \[\mathrm{tra}^n(z)= \mathrm{SuTra}(n+\mathrm{AuTra}(z)) \] The number \(n\) of iterate in this expression has no need to be integer.

Implementation

Namely this picture is generated using the representation of functions SuTra and AuTra through the Doya function, LambertW function] (Tania function), SuZex function.
So, files doya.cin LambertW.cin SuZex.cin and AuZex.cin should be loaded in order to compile the code below.

C++

#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 "Tania.cin" // need for LambertW
#include "doya.cin" // need for LambertW
#include "LambertW.cin" // need for AuZex
#include "SuZex.cin"
#include "AuZex.cin"
z_type tra(z_type z){ return exp(z)+z;}
z_type F(z_type z){ return log(suzex(z));}
z_type G(z_type z){ return auzex(exp(z));}
#include "ado.cin"
#define M(x,y) fprintf(o,"%6.4f %6.4f M\n",0.+x,0.+y);
#define L(x,y) fprintf(o,"%6.4f %6.4f L\n",0.+x,0.+y);
int main(){ int j,k,m,n; DB x,y, p,q, t; z_type z,c,d;  FILE *o;o=fopen("trait.eps","w");  ado(o,604,604);
fprintf(o,"302 302 translate\n 100 100 scale\n");
fprintf(o,"1 setlinejoin 2 setlinecap\n");
for(n=-3;n<4;n++) {M(-3,n)L(3,n)}
for(m=-3;m<4;m++) {M(m,-3)L(m,3)}
// M(M_E,0)L(M_E,1) M(0,M_E)L(1,M_E)  
fprintf(o,".004 W S\n");
// DO(m,700){x=.01 +.02*m; y=Re(LambertW(LambertW(x)));if(m==0) M(x,y) else L(x,y) if(x>12.03||y>12.03) break;} fprintf(o,".033 W 1 0 0 RGB S\n");
// DO(m,700){x=.01 +.02*m; y=Re(LambertW(x));if(m==0) M(x,y) else L(x,y) if(x>12.03||y>12.03) break;} fprintf(o,".04 W 1 .5 0 RGB S\n");
// M(0,0) L(12.03,12.03) fprintf(o,".04 W 0 1 0 RGB S\n");
DO(m,700){x=-3.02+.02*m; y=Re(tra(x));                                   if(m==0) M(x,y) else L(x,y) if(x>3.03||y>10.03) break;}
DO(m,700){x=-3.02+.02*m; y=Re(tra(tra(x)));                              if(m==0) M(x,y) else L(x,y) if(x>3.03||y>10.03) break;}
DO(m,700){x=-3.02+.02*m; y=Re(tra(tra(tra(x))));                         if(m==0) M(x,y) else L(x,y) if(x>3.03||y>10.03) break;}
DO(m,700){x=-3.02+.02*m; y=Re(tra(tra(tra(tra(x)))));                    if(m==0) M(x,y) else L(x,y) if(x>3.03||y>10.03) break;}
DO(m,700){x=-3.02+.02*m; y=Re(tra(tra(tra(tra(tra(x))))));               if(m==0) M(x,y) else L(x,y) if(x>3.03||y>10.03) break;}
DO(m,700){x=-3.02+.02*m; y=Re(tra(tra(tra(tra(tra(tra(x)))))));          if(m==0) M(x,y) else L(x,y) if(x>3.03||y>10.03) break;}
DO(m,700){x=-3.02+.02*m; y=Re(tra(tra(tra(tra(tra(tra(tra(x))))))));     if(m==0) M(x,y) else L(x,y) if(x>3.03||y>10.03) break;}
DO(m,700){x=-3.02+.02*m; y=Re(tra(tra(tra(tra(tra(tra(tra(tra(x)))))))));if(m==0) M(x,y) else L(x,y) if(x>3.03||y>10.03) break;}
fprintf(o,".022 W 0 1 0 RGB S\n");
DO(m,700){y=-3.02+.02*m; x=Re(tra(y));                                   if(m==0) M(x,y) else L(x,y) if(x>3.03||y>3.03) break;}
DO(m,700){y=-3.02+.02*m; x=Re(tra(tra(y)));                              if(m==0) M(x,y) else L(x,y) if(x>3.03||y>3.03) break;}
DO(m,700){y=-3.02+.02*m; x=Re(tra(tra(tra(y))));                         if(m==0) M(x,y) else L(x,y) if(x>3.03||y>3.03) break;}
DO(m,700){y=-3.02+.02*m; x=Re(tra(tra(tra(tra(y)))));                    if(m==0) M(x,y) else L(x,y) if(x>3.03||y>3.03) break;}
DO(m,700){y=-3.02+.02*m; x=Re(tra(tra(tra(tra(tra(y))))));               if(m==0) M(x,y) else L(x,y) if(x>3.03||y>3.03) break;}
DO(m,700){y=-3.02+.02*m; x=Re(tra(tra(tra(tra(tra(tra(y)))))));          if(m==0) M(x,y) else L(x,y) if(x>3.03||y>3.03) break;} 
DO(m,700){y=-3.02+.02*m; x=Re(tra(tra(tra(tra(tra(tra(tra(y))))))));     if(m==0) M(x,y) else L(x,y) if(x>3.03||y>3.03) break;} 
DO(m,700){y=-3.02+.02*m; x=Re(tra(tra(tra(tra(tra(tra(tra(tra(y)))))))));if(m==0) M(x,y) else L(x,y) if(x>3.03||y>3.03) break;} 
fprintf(o,".022 W 1 0 1 RGB S\n");
M(-3,-3)L(3,3) fprintf(o,".022 W 0 .6 1 RGB S\n");
for(n=-20;n<21;n+=1){
  DO(m,700){x=-3.01 +.02*m; y=Re(G(x)); y=Re(F(.1*n+y)); if(m==0) M(x,y) else L(x,y) if(x>3.03||y>3.03) break;}  
  fprintf(o,".01 W 0 0 0 RGB S\n");
                   }
fprintf(o,"showpage\n"); fprintf(o,"%c%cTrailer\n",'%','%');  fclose(o);
      system("epstopdf trait.eps"); 
      system(    "open trait.pdf"); //for macintosh
      getchar(); system("killall Preview"); // For macintosh
}

Latex

\documentclass[12pt]{article}
\usepackage{geometry}
\usepackage{graphicx}
\usepackage{rotating}
\paperwidth 606pt
\paperheight 606pt
\topmargin -105pt
\oddsidemargin -73pt
\textwidth 1100pt
\textheight 1100pt
\pagestyle {empty}
\newcommand \sx {\scalebox}
\newcommand \rot {\begin{rotate}}
\newcommand \ero {\end{rotate}}
\newcommand \ing {\includegraphics}
\parindent 0pt
\pagestyle{empty}
\begin{document}
\begin{picture}(602,602)
%\put(10,10){\ing{PowPlo}}
\put(0,0){\ing{TraIt}}
\put(311,590){\sx{2.5}{$y$}}
\put(311,495){\sx{2.4}{$2$}}
\put(311,395){\sx{2.4}{$1$}}
\put(311,295){\sx{2.4}{$0$}}
\put(307,194){\sx{2.4}{$-1$}}
\put(307,093.4){\sx{2.4}{$-2$}}

\put(083,308){\sx{2.4}{$-2$}}
\put(183,308){\sx{2.4}{$-1$}}
\put(297,308){\sx{2.4}{$0$}}
\put(397,308){\sx{2.4}{$1$}}
\put(497,308){\sx{2.4}{$2$}}
\put(590,308){\sx{2.5}{$x$}}

\put(117,532){\sx{2.4}{\rot{87}$n\!=\!8$\ero}}
\put(137,532){\sx{2.4}{\rot{86}$n\!=\!7$\ero}}
\put(156,532){\sx{2.4}{\rot{85}$n\!=\!6$\ero}}
\put(177,532){\sx{2.4}{\rot{84}$n\!=\!5$\ero}}
\put(204,532){\sx{2.4}{\rot{83}$n\!=\!4$\ero}}
\put(238,532){\sx{2.4}{\rot{82}$n\!=\!3$\ero}}
\put(278,532){\sx{2.4}{\rot{79}$n\!=\!2$\ero}}
\put(366,532){\sx{2.4}{\rot{71}$n\!=\!1$\ero}}
%\put(264,350){\sx{3.1}{\rot{61}$y\!=\!x\!+\!\mathrm e^x$\ero}}
%\put(427,528){\sx{2.3}{\rot{62}$c\!=\!0.6$\ero}}
\put(448,528){\sx{2.4}{\rot{60}$n\!=\!0.4$\ero}}
\put(469,530){\sx{2.4}{\rot{57}$n\!=\!0.3$\ero}}
\put(491,532){\sx{2.4}{\rot{53}$n\!=\!0.2$\ero}}
\put(517,534){\sx{2.4}{\rot{49}$n\!=\!0.1$\ero}}

\put(541,531){\sx{2.4}{\rot{45}$n\!=\!0$\ero}}
% <br> 
\put(521,462){\sx{2.4}{\rot{37}$n\!=\!-0.2$\ero}}
\put(517,423){\sx{2.4}{\rot{30}$n\!=\!-0.4$\ero}}
\put(527,349){\sx{2.4}{\rot{17}$n\!=\!-1$\ero}}
\put(524,261){\sx{2.4}{\rot{8}$n\!=\!-2$\ero}}
\put(523,222){\sx{2.4}{\rot{6}$n\!=\!-3$\ero}}
\put(523,188){\sx{2.4}{\rot{4}$n\!=\!-4$\ero}}
\put(523,161){\sx{2.4}{\rot{3}$n\!=\!-5$\ero}}
\put(523,141){\sx{2.4}{\rot{2}$n\!=\!-6$\ero}}
\put(523,122){\sx{2.4}{\rot{1}$n\!=\!-7$\ero}}
\put(523,104){\sx{2.4}{\rot{1}$n\!=\!-8$\ero}}
\end{picture}
\end{document}

References

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 20131,258 × 1,258 (604 KB)Maintenance script (talk | contribs)Importing image file

The following page uses this file:

Metadata