File:Lofmap.jpg

Complex map of function lof,

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

in vicinity of the real axis, lof is just logarithm of Factorial of its argument; in particular, for real $x$,

$\mathrm{lof}(x)=\ln\!\big(\mathrm{Factorial}(x)\big)= \ln(x!)$

However, $\mathrm{lof}(z)$ does not have multiple cut lines (except that along $z\!\le -1$, as $\ln(z!)$ has; in such a way, lof is holomorphic in the most of the complex plane.

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

int main{ int j,k,m,n; DB x,y, p,q, t; z_type z,c,d; int M=401,M1=M+1; int N=401,N1=N+1; DB X[M1],Y[N1], g[M1*N1],f[M1*N1], w[M1*N1]; // w is working array. char v[M1*N1]; // v is working array FILE *o;o=fopen("lofma.eps","w");ado(o,1008,1008); fprintf(o,"504 504 translate\n 100 100 scale 2 setlinecap 1 setlinejoin\n"); DO(m,M1) X[m]=-5.+.025*(m-.5); for(n=0;n<200;n++)Y[n]=-5.+.025*n; Y[200]=-.01; Y[201]=.01; for(n=202;n-9999 && p<9999 && q>-9999 && q<9999 ) {g[m*N1+n]=p;f[m*N1+n]=q;} //p=abs(c-d)/(abs(c)+abs(d)); p=-log(p)/log(10.); g[m*N1+n]=p; }}
 * 1) include "conto.cin"

p=1.4;q=.8; for(m=-15;m<15;m++)for(n=2;n<10;n+=2)conto(o,f,w,v,X,Y,M,N,(m+.1*n),-q, q); fprintf(o,".008 W 0 .6 0 RGB S\n"); for(m=0;m<15;m++) for(n=2;n<10;n+=2)conto(o,g,w,v,X,Y,M,N,-(m+.1*n),-q, q); fprintf(o,".008 W .9 0 0 RGB S\n"); for(m=0;m<15;m++) for(n=2;n<10;n+=2)conto(o,g,w,v,X,Y,M,N, (m+.1*n),-q, q); fprintf(o,".008 W 0 0 .9 RGB S\n"); for(m=1;m<16;m++) conto(o,f,w,v,X,Y,M,N, (0.-m),-p,p); fprintf(o,".02 W .9 0 0 RGB S\n"); for(m=1;m<16;m++) conto(o,f,w,v,X,Y,M,N, (0.+m),-p,p); fprintf(o,".02 W 0 0 .9 RGB S\n"); conto(o,f,w,v,X,Y,M,N, (0. ),-9,9); fprintf(o,".02 W .6 0 .6 RGB S\n"); for(m=-15;m<0;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=0;    conto(o,g,w,v,X,Y,M,N, (0.+m),-9,9); fprintf(o,".02 W 0 0 0 RGB S\n"); for(m=1;m<16;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(-5.1,0) L(-1,0) fprintf(o,".02 W 1 1 1 RGB 0 setlinecap S\n"); /* conto(o,g,w,v,X,Y,M,N, 1,-p,p); fprintf(o,".04 W .5 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N, 2,-p,p); fprintf(o,".02 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N, 3,-p,p); fprintf(o,".05 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N, 4,-p,p); fprintf(o,".02 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N, 5,-p,p); fprintf(o,".02 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N, 6,-p,p); fprintf(o,".05 W 1 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N, 7,-p,p); fprintf(o,".02 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N, 8,-p,p); fprintf(o,".02 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N, 9,-p,p); fprintf(o,".05 W 0 .8 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,10,-p,p); fprintf(o,".02 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,11,-p,p); fprintf(o,".02 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,12,-p,p); fprintf(o,".05 W 0 0 1 RGB S\n"); conto(o,g,w,v,X,Y,M,N,13,-p,p); fprintf(o,".02 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,14,-p,p); fprintf(o,".02 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,15,-p,p); fprintf(o,".05 W 1 0 1 RGB S\n");

fprintf(o,"showpage\n%c%cTrailer",'%','%'); fclose(o); system("epstopdf lofma.eps"); system(   "open lofma.pdf"); } //

Latex generator of labels
% \documentclass[12pt]{article} \usepackage{geometry} \paperwidth 1036pt \paperheight 1032pt \topmargin -96pt \oddsidemargin -68pt \pagestyle{empty} \usepackage{graphicx} \usepackage{rotating} \parindent 0pt \textwidth 1800px \textheight 1900px \newcommand \sx {\scalebox} \newcommand \rot {\begin{rotate}} \newcommand \ero {\end{rotate}} \begin{document} \begin{picture}(1008,1008) \put(20,10){\includegraphics{lofma}} %\put(20,10){\includegraphics{hermiga6ma}} %\put(20,10){\includegraphics{hermiten6draft}} \put(4,1005){\sx{2.3}{$y$}} \put(4,905){\sx{2.2}{$4$}} \put(4,805){\sx{2.2}{$3$}} \put(4,705){\sx{2.2}{$2$}} \put(4,605){\sx{2.2}{$1$}} \put(4,505){\sx{2.2}{$0$}} \put(-13,405){\sx{2.2}{$-1$}} \put(-13,306){\sx{2.2}{$-2$}} \put(-13,206){\sx{2.2}{$-3$}} \put(-13,106){\sx{2.2}{$-4$}} \put(-13,6){\sx{2.2}{$-5$}} %\put( 0,-8){\sx{2}{$-3$}} \put(  3,-8){\sx{2.2}{$-5$}} \put(102,-8){\sx{2.2}{$-4$}} \put(202,-8){\sx{2.2}{$-3$}} \put(302,-8){\sx{2.2}{$-2$}} \put(402,-8){\sx{2.2}{$-1$}} \put(520,-8){\sx{2.2}{$0$}} \put(620,-8){\sx{2.2}{$1$}} \put(720,-8){\sx{2.2}{$2$}} \put(820,-8){\sx{2.2}{$3$}} \put(920,-8){\sx{2.2}{$4$}} \put(1014,-8){\sx{2.3}{$x$}} % \put(270,940){\sx{3}{\rot{38}$u\!=\!-9$\ero}} \put(300,912){\sx{3}{\rot{38}$u\!=\!-8$\ero}} \put(330,884){\sx{3}{\rot{37}$u\!=\!-7$\ero}} \put(360,854){\sx{3}{\rot{34}$u\!=\!-6$\ero}} \put(388,820){\sx{3}{\rot{32}$u\!=\!-5$\ero}} \put(418,780){\sx{3}{\rot{32}$u\!=\!-4$\ero}} \put(444,740){\sx{3}{\rot{27}$u\!=\!-3$\ero}} \put(482,694){\sx{3}{\rot{27}$u\!=\!-2$\ero}} \put(530,634){\sx{3}{\rot{27}$u\!=\!-1$\ero}} \put(640,546){\sx{3}{\rot{61}$u\!=\!0$\ero}} \put(475,445){\sx{3}{\rot{36}$u\!=\!0$\ero}}% \put(765,516){\sx{3}{\rot{82}$u\!=\!1$\ero}} \put(852,492){\sx{3}{\rot{87}$u\!=\!2$\ero}} \put(923,490){\sx{3}{\rot{87}$u\!=\!3$\ero}} \put(988,490){\sx{3}{\rot{87}$u\!=\!4$\ero}} % \put(830,982){\sx{3}{\rot{-26}$v\!=\!7$\ero}} \put(810,936){\sx{3}{\rot{-27}$v\!=\!6$\ero}} \put(790,886){\sx{3}{\rot{-27}$v\!=\!5$\ero}} \put(760,837){\sx{3}{\rot{-28}$v\!=\!4$\ero}} \put(730,781){\sx{3}{\rot{-28}$v\!=\!3$\ero}} \put(706,716){\sx{3}{\rot{-28}$v\!=\!2$\ero}} \put(684,629){\sx{3}{\rot{-22}$v\!=\!1$\ero}} \put(644,506){\sx{3}{\rot{0}$v\!=\!0$\ero}} % \put(146,383){\sx{3}{\rot{67}$v\!=\!9$\ero}} \put(178,370){\sx{3}{\rot{68}$v\!=\!8$\ero}} \put(209,357){\sx{3}{\rot{68}$v\!=\!7$\ero}} \put(243,346){\sx{3}{\rot{69}$v\!=\!6$\ero}} \put(279,336){\sx{3}{\rot{70}$v\!=\!5$\ero}} \put(316,324){\sx{3}{\rot{70}$v\!=\!4$\ero}} \put(356,314){\sx{3}{\rot{70}$v\!=\!3$\ero}} \put(401,302){\sx{3}{\rot{70}$v\!=\!2$\ero}} \put(452,292){\sx{3}{\rot{70}$v\!=\!1$\ero}} \put(504,272){\sx{3}{\rot{63}$v\!=\!0$\ero}} \put(547,230){\sx{3}{\rot{51}$v\!=\!-1$\ero}} \put(590,192){\sx{3}{\rot{43}$v\!=\!-2$\ero}} \put(628,154){\sx{3}{\rot{37}$v\!=\!-3$\ero}} \put(656,104){\sx{3}{\rot{33}$v\!=\!-4$\ero}} \put(684,62){\sx{3}{\rot{30}$v\!=\!-5$\ero}} \put(714,18){\sx{3}{\rot{30}$v\!=\!-6$\ero}} % \put(346,510){\sx{2.4}{\bf cut}} \end{picture} \end{document} %