File:TraItT.jpg

Iterates of the Trappmann function

$y=\mathrm{tra}^n(x)$ for various $n$.

C++ generator of curves
//using namespace std; typedef std::complex z_type; //#include "Tania.cin" // need for LambertW 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));} 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 }
 * 1) include 
 * 2) include 
 * 3) include 
 * 4) define DB double
 * 5) define DO(x,y) for(x=0;x<y;x++)
 * 1) include
 * 1) define Re(x) x.real
 * 2) define Im(x) x.imag
 * 3) define I z_type(0.,1.)
 * 1) include "doya.cin" // need for LambertW
 * 2) include "LambertW.cin" // need for AuZex
 * 3) include "SuZex.cin"
 * 4) include "AuZex.cin"
 * 1) include "ado.cin"
 * 2) define M(x,y) fprintf(o,"%6.4f %6.4f M\n",0.+x,0.+y);
 * 3) define L(x,y) fprintf(o,"%6.4f %6.4f L\n",0.+x,0.+y);

Latex generator of labels
\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}} % \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}