File:SutranmapTb.jpg

From TORI
Jump to: navigation, search
Original file(4,175 × 4,175 pixels, file size: 1.75 MB, MIME type: image/jpeg)
previous version of this image made with another implementation of SuTra

Complex map of function SuTra evaluated with sutran.cin

SuTra is superfunction of the Trappmann function, $\mathrm{tra}(z)\!=\!z\!+\!\exp(z)$. In the figure,

$u\!+\!\mathrm i v\!=\! \mathrm{SuTra}(x\!+\!\mathrm i y)$

C++ Generator of curves

// Files ado.cin, conto.cin, sutran.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 complex<double> z_type;
#define Re(x) x.real()
#define Im(x) x.imag()
#define I z_type(0.,1.)
#include "conto.cin"
//#include "tania.cin"
//#include "LambertW.cin"
//#include "SuZex.cin"
//#include "AuZex.cin"
z_type tra(z_type z) {return z+exp(z);}
// z_type sutra(z_type z){ if( Re(z)<2. || fabs(Im(z))>2. ) return log(suzex(z));
//z_type sutra(z_type z){ if( Re(z)<2. ) return log(suzex(z));
// return tra(sutra(z-1.));}

#include"sutran.cin"

int main(){ int j,k,m,n; DB x,y, p,q, t; z_type z,c,d, cu,cd;
//DB x1=-1.1259817765745026; DO(n,8){ y=Re(suzex(x1)); x=y-1.; x1+=-1.2*x; printf("%18.16f %18.16f\n", x1,y);} getchar();
int M=1001,M1=M+1;
int N=1001,N1=N+1;
DB X[M1],Y[N1];
DB *g, *f, *w; // w is working array.
g=(DB *)malloc((size_t)((M1*N1)*sizeof(DB)));
f=(DB *)malloc((size_t)((M1*N1)*sizeof(DB)));
w=(DB *)malloc((size_t)((M1*N1)*sizeof(DB)));
char v[M1*N1]; // v is working array
FILE *o;o=fopen("sutranmap.eps","w"); ado(o,2002,2002);
fprintf(o,"1001 1001 translate\n 100 100 scale\n");
fprintf(o,"1 setlinejoin 2 setlinecap\n");
DO(m,M1) X[m]=-10+.02*(m-.5);
DO(n,N1) Y[n]=-10+.02*(n-.5);
//for(n=0;n<N1;n++) { Y[n]=1.09*sinh((3./200.)*(n-200)); printf("%3d %9.6f\n",n,Y[n]); }
for(m=-10;m<11;m++){M(m,-10) L(m,10) }
for(n=-10;n<11;n++){M( -10,n) L(10,n)}
 fprintf(o,".006 W 0 0 0 RGB S\n");
DO(m,M1)DO(n,N1){ g[m*N1+n]=999;
                       f[m*N1+n]=999;}
DO(m,M1){x=X[m]; if(m/10*10==m) printf("x=%6.3f\n",x);
DO(n,N1){y=Y[n]; z=z_type(x,y); //if(abs(z+2.)>.019)
// c=AuZex01(z-1.);
// c=AuZexAsy(LambertW(z))+1.;
//c=log(suzex(z));
  c=sutran(z);
// p=abs(c-z)/(abs(c)+abs(z)); p=-log(p)/log(10.); if(p>0 && p<17) g[m*N1+n]=p;
 p=Re(c); q=Im(c); if(p>-19 && p<19 && ( x<2. || fabs(q)>1.e-12 && fabs(p)>1.e-12) ){ g[m*N1+n]=p;f[m*N1+n]=q;}
       }}
fprintf(o,"1 setlinejoin 1 setlinecap\n");
 p=1.2;q=.4;
/* p=9;q=.16;
 conto(o,g,w,v,X,Y,M,N,(15.3 ),-p,p); fprintf(o,".01 W .4 1 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N,(15. ),-p,p); fprintf(o,".02 W 1 0 1 RGB S\n");
 conto(o,g,w,v,X,Y,M,N,(14.7 ),-p,p); fprintf(o,".01 W 1 .5 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N,(14. ),-p,p); fprintf(o,".01 W .2 .2 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N,(13. ),-p,p); fprintf(o,".01 W 0 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N,(12. ),-p,p); fprintf(o,".03 W 0 0 1 RGB S\n");
 conto(o,g,w,v,X,Y,M,N,(11. ),-p,p); fprintf(o,".01 W 0 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N,(10. ),-p,p); fprintf(o,".01 W 0 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N, (9. ),-p,p); fprintf(o,".03 W 0 1 1 RGB S\n");
 conto(o,g,w,v,X,Y,M,N, (8. ),-p,p); fprintf(o,".01 W 0 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N, (7. ),-p,p); fprintf(o,".01 W 0 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N, (6. ),-p,p); fprintf(o,".04 W 0 .5 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N, (5. ),-p,p); fprintf(o,".01 W 0 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N, (4. ),-p,p); fprintf(o,".01 W 0 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N, (3. ),-p,p); fprintf(o,".02 W 1 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N, (2. ),-p,p); fprintf(o,".01 W 0 0 0 RGB S\n");
 conto(o,g,w,v,X,Y,M,N, (1. ),-p,p); fprintf(o,".02 W .5 0 0 RGB S\n");
*/
for(m=-8;m<8;m++)for(n=2;n<10;n+=2)conto(o,f,w,v,X,Y,M,N,(m+.1*n),-q,q);fprintf(o,".007 W 0 .6 0 RGB S\n");
for(m=0;m<8;m++) for(n=2;n<10;n+=2)conto(o,g,w,v,X,Y,M,N,-(m+.1*n),-q,q);fprintf(o,".007 W .9 0 0 RGB S\n");
for(m=0;m<8;m++) for(n=2;n<10;n+=2)conto(o,g,w,v,X,Y,M,N, (m+.1*n),-q,q);fprintf(o,".007 W 0 0 .9 RGB S\n");
for(m= 1;m<17;m++) conto(o,f,w,v,X,Y,M,N, (0.-m),-p,p);fprintf(o,".02 W .8 0 0 RGB S\n");
for(m= 1;m<17;m++) conto(o,f,w,v,X,Y,M,N, (0.+m),-p,p);fprintf(o,".02 W 0 0 .8 RGB S\n");
               conto(o,f,w,v,X,Y,M,N, (0. ),-2*p,2*p); fprintf(o,".02 W .5 0 .5 RGB S\n");
for(m=-16;m<17;m++)conto(o,g,w,v,X,Y,M,N,(0.+m),-p,p);fprintf(o,".02 W 0 0 0 RGB S\n");
// fprintf(o,"0 setlinejoin 0 setlinecap\n");
// M(-10,0)L(0,0) fprintf(o,"1 1 1 RGB .02 W S\n");
//#include "plofu.cin"
fprintf(o,"showpage\n");
fprintf(o,"%c%cTrailer\n",'%','%');
fclose(o); free(f); free(g); free(w);
      system("epstopdf sutranmap.eps");
      system( "open sutranmap.pdf"); //for macintosh
      getchar(); system("killall Preview"); // For macintosh
}

Latex Generator of labels


% the input should be generated with the code above
\documentclass[12pt]{article}
\paperwidth 2004px
\paperheight 2004px
\textwidth 2394px
\textheight 2300px
\topmargin -101px
\oddsidemargin -70px
\usepackage{graphics}
\usepackage{rotating}
\newcommand \sx {\scalebox}
\newcommand \rot {\begin{rotate}}
\newcommand \ero {\end{rotate}}
\newcommand \ing {\includegraphics}
\newcommand \rmi {\mathrm{i}}
\parindent 0pt
\pagestyle{empty}
\begin{document}
\parindent 0pt
\sx{1}{\begin{picture}(2002,2002)
\put(30,1950){\sx{8}{$y$}}
\put(30,1780){\sx{7}{$8$}}
\put(30,1580){\sx{7}{$6$}}
\put(30,1380){\sx{7}{$4$}}
\put(30,1180){\sx{7}{$2$}}
\put(30,0980){\sx{7}{$0$}}
\put(-22,780){\sx{7}{$-2$}}
\put(-22,580){\sx{7}{$-4$}}
\put(-22,380){\sx{7}{$-6$}}
\put(-22,180){\sx{7}{$-8$}}
\put(120, 6){\sx{7}{$-8$}}
\put(320, 6){\sx{7}{$-6$}}
\put(520, 6){\sx{7}{$-4$}}
\put(720, 6){\sx{7}{$-2$}}
\put(988, 6){\sx{7}{$0$}}
\put(1188, 6){\sx{7}{$2$}}
\put(1388, 6){\sx{7}{$4$}}
\put(1588, 6){\sx{7}{$6$}}
\put(1788, 6){\sx{7}{$8$}}
\put(1958, 6){\sx{8}{$x$}}
\put(0,0){\ing{sutranmap}}
%\zoomax
\put(200,1414){\sx{7}{\rot{56}$u\!=\!-2.2$\ero}}
\put(352,1328){\sx{7}{\rot{56}$u\!=\!-2$\ero}}
\put(462,1238){\sx{7}{\rot{56}$u\!=\!-1.8$\ero}}
\put(574,1188){\sx{7}{\rot{56}$u\!=\!-1.6$\ero}}
\put(652,1130){\sx{7}{\rot{56}$u\!=\!-1.4$\ero}}
\put(722,1070){\sx{7}{\rot{58}$u\!=\!-1.2$\ero}}
\put(790,1050){\sx{7}{\rot{59}$u\!=\!-1$\ero}}

\put(1518,1200){\sx{7}{\rot{10}$v\!=\!3$\ero}}
\put(1277,1590){\sx{7}{\rot{68}$v\!=\!2$\ero}}
\put(618,1632){\sx{7}{\rot{-53}$v\!=\!1$\ero}}
\put(340,1128){\sx{7}{\rot{-10}$v\!=\!0.2$\ero}}
\put(310,0984){\sx{7}{$v\!=\!0$}}
\put(330,0832){\sx{7}{\rot{10}$v\!=\!-0.2$\ero}}
\put(642,0332){\sx{7}{\rot{53}$v\!=\!-1$\ero}}
\put(1209,488){\sx{7}{\rot{-70}$v\!=\!-2$\ero}}
\put(1490,772){\sx{7}{\rot{-11}$v\!=\!-3$\ero}}
\end{picture}}
\end{document}

File history

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

Date/TimeThumbnailDimensionsUserComment
current06:14, 1 December 2018Thumbnail for version as of 06:14, 1 December 20184,175 × 4,175 (1.75 MB)Maintenance script (talk | contribs)Importing image file
  • You cannot overwrite this file.

There are no pages that link to this file.

Metadata