File:Yulya01plot80.png

Plot of the Yulya function
 * $\mathrm{Yulya}_a(x)= \frac{a\!+\!x}{\sqrt{1-(a\!+\!x)^2}}-\frac{a\!-\!x}{\sqrt{1-(a\!-\!x)^2}}$

$f\!=\!\mathrm{Yulya}_a(x)~$ is shown in the $x,a$ plane with levels $f=\rm const.$

Generator of the curves
For the plotting of curves, the routines conto.cin and ado.cin are necessary. These files should be stored in the working directory to compile the C++ code below:

using namespace std;
 * 1) include 
 * 2) include 
 * 3) include 
 * 4) define DB double
 * 5) define DO(x,y) for(x=0;x<y;x++)

DB Yulya(DB a, DB x){ DB p=a+x; DB m=a-x; return p/sqrt(1.-p*p)-m/sqrt(1.-m*m);}

DB Yulyap(DB a, DB x){ DB p,m; p=a+x; m=a-x; p=1.-p*p; m=1.-m*m; return 1./(p*sqrt(p))+1./(m*sqrt(m));}

DB ArcYulya0(DB a, DB f){ DB m=1.-a; DB p=1.+a; return m*f / sqrt( 4./(m*p*p*p) + f*f );}

DB ArcYulya2(DB a, DB f){ int n; DB y=ArcYulya0(a,f); DO(n,7) y+=(f-Yulya(a,y))/Yulyap(a,y);       return y;} //#include "yulya.cin"

main{ int j,k,m,n; DB x,y, p,q, t; int M=401,M1=M+1; int N=401,N1=N+1; DB X[M1],Y[N1], g[M1*N1], w[M1*N1]; // w is working array. char v[M1*N1]; // v is working array FILE *o;o=fopen("yulya01.eps","w");ado(o,208,208); fprintf(o,"104 104 translate\n 100 100 scale\n"); DO(m,M1) X[m]=-1.+.005*(m-.1); DO(n,N1) Y[n]=-1.+.005*(n-.1); M(1,0)L(0,1)L(1,1) fprintf(o,"C 1 .9 1 RGB fill\n"); M(-1,0)L(0,1)L(-1,1) fprintf(o,"C 1 .9 1 RGB fill\n"); M(1,0)L(0,-1)L(1,-1) fprintf(o,"C 1 .9 1 RGB fill\n"); M(-1,0)L(0,-1)L(-1,-1) fprintf(o,"C 1 .9 1 RGB fill\n"); for(m=-1;m<2;m+=1){   M(m,-1)L(m,1)} for(n=-1;n<2;n+=1){   M(-1,n)L(1,n)} fprintf(o,".003 W 0 0 0 RGB S\n"); M( .5,-1)L( .5,1) M(-.5,-1)L(-.5,1) M(-1, .5)L(1, .5) M(-1,-.5)L(1,-.5) M(0,1)L(1,0)L(0,-1)L(-1,0) fprintf(o,"C .002 W 0 0 0 RGB S\n"); DO(m,M1)DO(n,N1){g[m*N1+n]=9999;} DO(m,M1){x=X[m]; //printf("run at x=%6.3f\n",x); DO(n,N1){y=Y[n]; p=Yulya(y,x); //    p=ArcYulya2(y,p); //    p=-log(fabs(p-x)/fabs(p+x))/log(10.); if(p>-85 && p<85) g[m*N1+n]=p; }} fprintf(o,"1 setlinejoin 1 setlinecap\n"); p=4.; conto(o,g,w,v,X,Y,M,N,.2,-p,p);fprintf(o,".003 W 0 0 .5 RGB S\n"); conto(o,g,w,v,X,Y,M,N,.4,-p,p);fprintf(o,".003 W 0 0 .5 RGB S\n"); conto(o,g,w,v,X,Y,M,N,.6,-p,p);fprintf(o,".003 W 0 0 .5 RGB S\n"); conto(o,g,w,v,X,Y,M,N,.8,-p,p);fprintf(o,".003 W 0 0 .5 RGB S\n"); conto(o,g,w,v,X,Y,M,N,-.2,-p,p);fprintf(o,".003 W .5 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,-.4,-p,p);fprintf(o,".003 W .5 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,-.6,-p,p);fprintf(o,".003 W .5 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,-.8,-p,p);fprintf(o,".003 W .5 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,1.,-p,p);fprintf(o,".004 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,2.,-p,p);fprintf(o,".004 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,3.,-p,p);fprintf(o,".004 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,4.,-p,p);fprintf(o,".004 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,-1.,-p,p);fprintf(o,".004 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,-2.,-p,p);fprintf(o,".004 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,-3.,-p,p);fprintf(o,".004 W 0 0 0 RGB S\n"); conto(o,g,w,v,X,Y,M,N,-4.,-p,p);fprintf(o,".004 W 0 0 0 RGB S\n"); fprintf(o,"showpage\n%cTrailer",'%'); fclose(o); system("epstopdf yulya01.eps"); system(   "open yulya01.pdf"); //these 2 commands may be specific for macintosh getchar; system("killall Preview");// if run at another operational sysetm, may need to modify } //End of generator of yulya01.pdf
 * 1) include "conto.cin"

Generator of the labels
Once the curves are generated and stored as yulya.pdf the image can be generated with the latex file below:

% Gerenator of Yulya01plot80.png % % Save this paragraph as yulya01plot.tex % % Copyleft 2011 by Dmitrii Kouznetsov % \documentclass[12pt]{article} % \usepackage{geometry} % \usepackage{graphicx} % \usepackage{rotating} % \paperwidth 1050pt % \paperheight 1040pt % \topmargin -114pt % \oddsidemargin -100pt % \textwidth 1200pt % \textheight 1200pt % \pagestyle {empty} % \newcommand \sx {\scalebox} % \newcommand \rot {\begin{rotate}} % \newcommand \ero {\end{rotate}} % \newcommand \ing {\includegraphics} % \begin{document} % \sx{5}{ \begin{picture}(208,208) % \put(3,2){\ing{yulya01}} % \put(1,203){\sx{.6}{$a$}} % \put(-1,154){\sx{.9}{$\frac 12$}} % \put(0,104){\sx{.6}{$0$}} % \put(-3,54){\sx{.9}{$\frac{-\!1}{2}$}} % \put(-3, 4){\sx{.6}{$-1$}} % \put(50,0){\sx{.6}{$-0.5$}} % \put(105,0){\sx{.6}{$0$}} % \put(153,0){\sx{.6}{$0.5$}} % \put(204,0){\sx{.6}{$x$}} % \put(108,140){\rot{-90} \sx{.5}{$f\!=\!0$} \ero} % \put(117,139){\rot{-87} \sx{.5}{$f\!=\!0.2$} \ero} % \put(125,137){\rot{-82} \sx{.5}{$f\!=\!0.4$} \ero} % \put(133,135){\rot{-78} \sx{.5}{$f\!=\!0.6$} \ero} % \put(141,131){\rot{-76} \sx{.5}{$f\!=\!0.8$} \ero} % \put(149,129){\rot{-76} \sx{.5}{$f\!=\!1$} \ero} % \put(164,128){\rot{-56} \sx{.5}{$f\!=\!2$} \ero} % \put(175,125){\rot{-53} \sx{.5}{$f\!=\!3$} \ero} % \put(192,122){\rot{-45} \sx{.5}{$f\!=\!\infty$} \ero} % % % % \put(108,60){\rot{-90} \sx{.5}{$f\!=\!0$} \ero} % \put(93,104){\rot{-87} \sx{.5}{$f\!=\!-0.2$} \ero} % \put(83,104){\rot{-84} \sx{.5}{$f\!=\!-0.4$} \ero} % \put(74,104){\rot{-82} \sx{.5}{$f\!=\!-0.6$} \ero} % \put(65,104){\rot{-78} \sx{.5}{$f\!=\!-0.8$} \ero} % \put(59,95){\rot{-76} \sx{.5}{$f\!=\!-1$} \ero} % \put(39,97){\rot{-56} \sx{.5}{$f\!=\!-\!2$} \ero} % \put(27,98){\rot{-53} \sx{.5}{$f\!=\!-\!3$} \ero} % % % \put(158,189){\sx{.74}{$f\!=\!\mathrm{Yulya}_a\!(x)$}} % \put(167,179){\sx{.8}{has}} % \put(160,170){\sx{.8}{complex}} % \put(164,161){\sx{.8}{values}} % \end{picture} % } % \end{document} %