File:ArcSeregaMapT.png

Complex map of the ArcSerega function, which is inverse of
 * $ \mathrm {Serega}(z)=z+\mathrm i \exp( \mathrm i ~ z^*)$

Here, $x+\mathrm i y = \mathrm{ArcSerega}(X+\mathrm i Y)$;

Levles $x=\mathrm {const}$ and levles $y=\mathrm {const}$ are drawn in the $X$, $Y$ plane.

Neither Serega function nor ArcSerega are holomorphic; the asterisk in the definition above denotes the complex conjugation. So the levels $x=\mathrm {const}$ are not orthogonal to levels $y=\mathrm {const}$; the only exception are lines $X=\pi n$ for integer $n$ and all the levels in the limit $Y \rightarrow -\infty$.

The image is generated in the eps format with C++, converted to pdf, imported to the Latex document to add labels and, finaly, converted to png with default resolution.

Generation of curves
FIles serega.cin, conto.cin and ado.cin should be loaded to the working directory in order to compile the C++ code below:

using namespace std; // #include"ado.cin"
 * 1) include
 * 2) include
 * 1) include
 * 1) include "conto.cin"


 * 1) define DO(x,y) for(x=0;x<y;x++)
 * 2) define DB double
 * 3) define z_type complex
 * 4) define Re(x) (x.real)
 * 5) define Im(x) (x.imag)

// z_type Serega(z_type z); // z_type ArcSeregaUp(z_type z); // WARNING: non-holomorphic functions included! main{ FILE *o; int m,n; DB x,y,t, p,q; z_type z,Z; o=fopen("arcseregamap.eps","w"); ado(o,608,608);  fprintf(o,"4 4 translate 100 100 scale \n"); for(m=0;m<7;m++){M(m,0)L(m,6)} for(n=0;n<7;n++){M(0,n)L(6,n)} fprintf(o,"2 setlinecap .004 W S\n"); M(1.+M_PI, 0.) L(1.+M_PI, 4.) fprintf(o,"2 setlinecap .003 W S\n"); fprintf(o,"1 setlinejoin 1 setlinecap .01 W\n"); int M=600; int M1=M+1; DB *X; X= (DB*) malloc( M1*sizeof(DB)); DO(m,M1) X[m]=.01*(m); int N=600; int N1=N+1; DB *Y; Y= (DB*) malloc( N1*sizeof(DB)); DO(n,N1) Y[n]=.01*(n); DB *f; f= (DB*) malloc( M1*N1*sizeof(DB) ); DB *g; g= (DB*) malloc( M1*N1*sizeof(DB) ); DB *w; w= (DB*) malloc( M1*N1*sizeof(DB) ); char *v; v= (char*) malloc( M1*N1*sizeof(char) ); DO(m,M1){ p=X[m]-1.; DO(n,N1){ q=Y[n]-5.; g[m*N1+n]= 0.; z=z_type(p,q); Z=ArcSerega(z); //Z=Serega(Z); //t= - log(abs(Z-z)/abs(Z+z))/log(10.); g[m*N1+n]=Re(Z); f[m*N1+n]= Im(Z); }} p=2;q=1; conto(o,f,w,v,X,Y,M,N, (0. ),-100,100); fprintf(o,".03 W .5 0 .5 RGB S\n"); for(m= 1;m<5;m++) conto(o,f,w,v,X,Y,M,N, (0.-m),-p,p);fprintf(o,".03 W .8 0 0 RGB S\n"); //for(m= 1;m<20;m++) conto(o,f,w,v,X,Y,M,N, (0.+m),-p,p);fprintf(o,".03 W 0 0 .8 RGB S\n"); for(m=-5;m<6;m++)conto(o,g,w,v,X,Y,M,N,(0.+m),-p,p);fprintf(o,".03 W 0 0 0 RGB S\n"); for(m=-5;m<0;m++)for(n=2;n<10;n+=2)conto(o,f,w,v,X,Y,M,N, (m+.1*n),-q,q); fprintf(o,".01 W 0 .6 0 RGB S\n"); for(m=0;m<9;m++) for(n=2;n<10;n+=2)conto(o,g,w,v,X,Y,M,N,-(m+.1*n),-q,q); fprintf(o,".01 W .9 0 0 RGB S\n"); for(m=0;m<9;m++) for(n=2;n<10;n+=2)conto(o,g,w,v,X,Y,M,N, (m+.1*n),-q,q); fprintf(o,".01 W 0 0 .9 RGB S\n"); fprintf(o,"showpage\n"); fprintf(o,"%c%cTrailer\n",'%','%'); fclose(o); system("epstopdf arcseregamap.eps"); system(   "open arcseregamap.pdf"); }
 * 1) include "serega.cin"
 * 1) define M(x,y) fprintf(o,"%6.4f %6.4f M\n",1.*(x),1.*(y));
 * 2) define L(x,y) fprintf(o,"%6.4f %6.4f L\n",1.*(x),1.*(y));

Writing labels
% File arcseregamap.pdf should be generated with the program above in order to compile the Latex document below:

% \documentclass[12pt]{article} % \usepackage{geometry} % \usepackage{graphicx} % \usepackage{rotating} % \paperwidth 632pt % \paperheight 632pt % \textwidth 640pt % \textheight 640pt % \topmargin -90pt % \oddsidemargin -70pt % \newcommand \sx {\scalebox} % \newcommand \rot {\begin{rotate}} % \newcommand \ero {\end{rotate}} % \pagestyle{empty} % \parindent 0pt % \begin{document} % \begin{picture}(600,600) % \put(20,10){\includegraphics{arcseregamap}} % \put(0,598){\sx{2.4}{$Y$}} % \put(8,507){\sx{2.5}{$0$}} % \put(-9,407){\sx{2.5}{$-\!1$}} % \put(-9,307){\sx{2.5}{$-\!2$}} % \put(-9,207){\sx{2.5}{$-\!3$}} % \put(-9,107){\sx{2.5}{$-\!4$}} % \put(-9, 7){\sx{2.5}{$-\!5$}} % \put(117, -9){\sx{2.5}{$0$}} % \put(217, -9){\sx{2.5}{$1$}} % \put(317, -9){\sx{2.5}{$2$}} % \put(417, -9){\sx{2.5}{$3$}} % \put(438, -3){\sx{2.5}{$\pi$}} % \put(517, -9){\sx{2.5}{$4$}} % \put(606, -9){\sx{2.5}{$X$}} % \put(122,126){\rot{90}\sx{2.8}{$x\!=\!0$}\ero} % \put(222,126){\rot{90}\sx{2.8}{$x\!=\!1$}\ero} % \put(322,126){\rot{90}\sx{2.8}{$x\!=\!2$}\ero} % \put(422,126){\rot{90}\sx{2.8}{$x\!=\!3$}\ero} % \put(448,126){\rot{90}\sx{2.8}{$x\!=\!\pi$}\ero} % \put(524,126){\rot{88}\sx{2.8}{$x\!=\!4$}\ero} % \put(318,430){\rot{-11}\sx{2.8}{$y\!=\!0$}\ero} % \put(318,383){\rot{-5}\sx{2.8}{$y\!=\!-1$}\ero} % \put(322,302){\rot{-3}\sx{2.8}{$y\!=\!-2$}\ero} % \put(324,203){\rot{-2}\sx{2.8}{$y\!=\!-3$}\ero} % \put(325,103){\rot{-1}\sx{2.8}{$y\!=\!-4$}\ero} % % \put(200,560){\sx{3}{$ x\!+\!\mathrm i y = \mathrm{ArcSerega}(X\!+\!\mathrm i Y)$}} % \end{picture} % \end{document}  % %