File:ArctranmapT.jpg

Complex map of function ArcTra,

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

See Trappmann function for details.

This is improved version of http://mizugadro.mydns.jp/t/index.php?title=File:ArcTraMapT.jpg that is impelmented through the Tania function. Both implementations do the same with precision of order of 15 decimal digits.

C++ generator of curves
//Files ado.cin, conto.cin, arctran.cin should be loaded to the working directory in order to compile the code below using namespace std; typedef complex z_type;
 * 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 "conto.cin"
 * 2) include "arctran.cin"

int main{ int j,k,m,n; DB x1,x,y, p,q, t; z_type z,c,d, cu,cd; int M=601,M1=M+1; int N=1201,N1=N+1; DB X[M1],Y[N1]; DB *g, *f, *w; // w is working array. char *v; 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))); v=(char *)malloc((size_t)((M1*N1)*sizeof(char))); //char v[M1*N1]; // v is working array FILE *o;o=fopen("arctranmap.eps","w"); ado(o,1202,1202); fprintf(o,"601 601 translate\n 100 100 scale\n"); fprintf(o,"1 setlinejoin 2 setlinecap\n"); DO(m,M1) X[m]=-6.+.02*(m-.5); DO(n,N1) Y[n]=-6.+.01*(n-.5); for(m=-6;m<7;m++) {M(m,-6)L(m,6)} for(n=-6;n<7;n++) {M( -6,n)L(6,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); c=arctran(z); //c=tra(c); //p=-log( abs(c-z)/(abs(c)+abs(z)) )/log(10.); p=Re(c); q=Im(c); if(p>-19. && p<19.) g[m*N1+n]=p; if(q>-19. && q<19. ) f[m*N1+n]=q; }} fprintf(o,"1 setlinejoin 1 setlinecap\n"); p=.2; q=.1;

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. ),-p,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");

//M(-6, M_PI)L(-1, M_PI) //M(-6,-M_PI)L(-1,-M_PI) fprintf(o,".01 W 1 1 1 RGB S\n");

/* conto(o,g,w,v,X,Y,M,N,(16. ),-3,3); fprintf(o,".02 W 1 0 1 RGB S\n"); conto(o,g,w,v,X,Y,M,N,(15. ),-2,2); fprintf(o,".03 W .7 0 1 RGB S\n"); conto(o,g,w,v,X,Y,M,N,(14. ),-2,2); fprintf(o,".01 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,(13. ),-2,2); fprintf(o,".01 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,(12. ),-1,1); fprintf(o,".04 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,".04 W 0 .8 0 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 1 0 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,".04 W 0 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,".06 W 1 .5 0 RGB S\n");

fprintf(o,"showpage\n"); fprintf(o,"%c%cTrailer\n",'%','%'); fclose(o); free(f); free(g); free(w); system("epstopdf arctranmap.eps"); system(   "open arctranmap.pdf"); //for macintosh getchar; system("killall Preview"); // For macintosh }

Latex generator of labels
\documentclass[12pt]{article} \paperheight 1228px \paperwidth 1236px \textwidth 1394px \textheight 1300px \topmargin -104px \oddsidemargin -78px \usepackage{graphics} \usepackage{rotating} \newcommand \sx {\scalebox} \newcommand \rot {\begin{rotate}} \newcommand \ero {\end{rotate}} \newcommand \ing {\includegraphics} \newcommand \rmi {\mathrm{i}} \begin{document} \newcommand \zoomax { \put(18,1206){\sx{3.3}{$y$}} \put(18,1113){\sx{3}{$5$}} \put(18,1013){\sx{3}{$4$}} \put(18, 913){\sx{3}{$3$}} \put(18, 813){\sx{3}{$2$}} \put(18, 713){\sx{3}{$1$}} \put(18, 613){\sx{3}{$0$}} \put(-6, 513){\sx{3}{$-1$}} \put(-6, 413){\sx{3}{$-2$}} \put(-6, 313){\sx{3}{$-3$}} \put(-6, 213){\sx{3}{$-4$}} \put(-6, 113){\sx{3}{$-5$}} \put(-6, 013){\sx{3}{$-6$}} \put(014, -5){\sx{3}{$-6$}} \put(114, -5){\sx{3}{$-5$}} \put(214, -5){\sx{3}{$-4$}} \put(314, -5){\sx{3}{$-3$}} \put(414, -5){\sx{3}{$-2$}} \put(514, -5){\sx{3}{$-1$}} \put(635, -5){\sx{3}{$0$}} \put(735, -5){\sx{3}{$1$}} \put(835, -5){\sx{3}{$2$}} \put(935, -5){\sx{3}{$3$}} \put(1035, -5){\sx{3}{$4$}} \put(1135, -5){\sx{3}{$5$}} \put(1227,-4){\sx{3}{$x$}} } \parindent 0pt \sx{1}{\begin{picture}(1252,1220) %\put(40,20){\ing{b271tMap3}} %\put(40,20){\ing{ExpMap}} %\put(40,20){\ing{suzexD1map}} %\put(40,20){\ing{ArcTraMap}} \put(40,20){\ing{arctranmap}} \zoomax \put(80,898){\sx{5}{$v\!=\!3$}} \put(80,810){\sx{5}{$v\!=\!2$}} \put(80,710){\sx{5}{$v\!=\!1$}} \put(80,608){\sx{5}{$v\!=\!0$}} \put(80,504){\sx{5}{$v\!=\!-1$}} \put(80,409){\sx{5}{$v\!=\!-2$}} \put(80,312){\sx{5}{$v\!=\!-3$}} \put(261,555){\sx{5}{\rot{90}$u\!=\!-4$\ero}} \put(365,555){\sx{5}{\rot{90}$u\!=\!-3$\ero}} \put(474,555){\sx{5}{\rot{90}$u\!=\!-2$\ero}} \put(597,555){\sx{5}{\rot{90}$u\!=\!-1$\ero}} \put(760,562){\sx{5}{\rot{90}$u\!=\!0$\ero}} \put(1032,564){\sx{5}{\rot{90}$u\!=\!1$\ero}} \end{picture}} \end{document}