File:BesselY0mapWideT039.png

From TORI
Jump to navigation Jump to search

Original file(2,191 × 563 pixels, file size: 1.91 MB, MIME type: image/png)

Complex map of the Neumann function of zero order, id est, the BesselY0; $Y_0(z)=\mathrm{BesselY}[0,z]$

$u+\mathrm i v= Y_0(x+\mathrm i y)$ in the $x$,$y$ plane; lines $u=\mathrm{const}$ and lines $v=\mathrm{const}$ are drawn.

The center of the light wide strip indicate the boundary between various representations: the expansion at small values of $|z|$ and the expansion for the large values. (See the implementation at Bessely0.cin ). At these lines, the implemented function has jump, its relative amplitude is of order of $10^{-12}$ or smaller. If the picture is printed at the paper, then the jump causes displacement of lines that is order of size of nuclei, say, $10^{-13}$cm, and, perhaps, cannot be resolved with the imaging systems of 21 century. In this sense, the precision of evaluation (12 digits) is believed to be sufficient for the physical applications.

Generator of curves

// Files Besselj0.cin, Bessely0.cin, ado.cin and conto.cin should be loaded to the working directory in order to compile the C++ code below.

// Be careful with the capitalization: in TORI, all filenames begin with Capital letter, but the filenames of the included files are with lowercase letters; as for the names of the function, they may include the capital letters and there is no need to change this capitalization.

#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 "besselj0.cin"
#include "bessely0.cin"
main(){ int j,k,m,n; DB x,y, p,q, t; z_type z,c,d;
int M=803,M1=M+1;
int N=201,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("besselY0mapWide.eps","w");ado(o,402,102);
fprintf(o,"201 51 translate\n 10 10 scale\n"); 
fprintf(o,"1 setlinejoin 1 setlinecap\n"); p=1.5;q=.5;
fprintf(o,"0  2.5 13 -11 11 arc  .3 W .6 1 1 RGB S\n");
fprintf(o,"0  2.5 13 159 191 arc   S\n");
fprintf(o,"0 -2.5 13 -11 11 arc  S\n");
fprintf(o,"0 -2.5 13 -191 -159 arc  S\n");
DO(m,400) X[m]=-20.+.05*m;
    X[400]=-.03;
    X[401]=-.009;
    X[402]= .009;
    X[403]= .03;
for(m=404;m<M1;m++) X[m]=-20.+.05*(m-3.);
DO(n,100)Y[n]=-5.+.05*n;
     Y[100]=-.006;
     Y[101]= .006;
for(n=102;n<N1;n++) Y[n]=-5.+.05*(n-1.);
//DO(m,M1)X[m]=Y[m];
for(m=-20;m<21;m++){if(m==0){M(m,-5.1)L(m,5.1)} else{M(m,-5)L(m,5)}}
for(n=-5;n<6;n++){     M(  -20,n)L(20,n)}
fprintf(o,"0 setlinecap .01 W 0 0 0 RGB S\n");
DO(m,M1)DO(n,N1){g[m*N1+n]=9999; f[m*N1+n]=9999;}
DO(m,M1){x=X[m]; //printf("%5.2f\n",x);
DO(n,N1){y=Y[n]; z=z_type(x,y);
 //   d=BesselY0o(z);
    c=BesselY0(z);
// p= -log(abs(c-d)/abs(c+d))/log(10.);
   p=Re(c);    q=Im(c);        
    if(p>-12. && p<12.
     &&     q>-12. && q<12. 
    )
{g[m*N1+n]=p; 
 f[m*N1+n]=q;
}
                     }}
//#include "plodi.cin"
/*
conto(o,g,w,v,X,Y,M,N,15, -p,p); fprintf(o,".07 W 1 0 1 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,13, -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,".06 W 0 0 1 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,10, -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,".06 W 0 1 1 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, 7, -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,".07 W 0 1 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, 4, -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,".06 W .5 .5 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, 1, -p,p); fprintf(o,".1 W 1 0 0 RGB S\n");
*/
fprintf(o,"1 setlinejoin 1 setlinecap\n"); p=2;q=.8;
for(m=-12;m<12;m++)for(n=2;n<10;n+=2)conto(o,f,w,v,X,Y,M,N,(m+.1*n),-q, q); fprintf(o,".016 W 0 .6 0 RGB S\n");
for(m=0;m<12;m++) for(n=2;n<10;n+=2)conto(o,g,w,v,X,Y,M,N,-(m+.1*n),-q, q); fprintf(o,".016 W .9 0 0 RGB S\n");
for(m=0;m<12;m++) for(n=2;n<10;n+=2)conto(o,g,w,v,X,Y,M,N, (m+.1*n),-q, q); fprintf(o,".016 W 0 0 .9 RGB S\n");
for(m=1;m<13;m++) conto(o,f,w,v,X,Y,M,N, (0.-m),-p,p); fprintf(o,".03 W .9 0 0 RGB S\n");
for(m=1;m<13;m++) conto(o,f,w,v,X,Y,M,N, (0.+m),-p,p); fprintf(o,".03 W 0 0 .9 RGB S\n");
                conto(o,f,w,v,X,Y,M,N, (0.  ),-2*p,2*p); fprintf(o,".03 W .6 0 .6 RGB S\n");
for(m=-12;m<0;m++) conto(o,g,w,v,X,Y,M,N, (0.+m),-p,p); fprintf(o,".03 W 0 0 0 RGB S\n");
    m=0;          conto(o,g,w,v,X,Y,M,N, (0.+m),-2*p,2*p); fprintf(o,".03 W 0 0 0 RGB S\n");
for(m=1;m<13;m++) conto(o,g,w,v,X,Y,M,N, (0.+m),-p,p); fprintf(o,".03 W 0 0 0 RGB S\n");
//#include "plofu.cin"
M(0,0)L(-20,0) fprintf(o,"1 1 1 RGB 0.032 W 0 setlinecap S\n"); 
DO(n,80) {x=-.25*n; M(x-.10,0) L(x-.20,0)} fprintf(o,"0 0 0 RGB .04 W S\n");
fprintf(o,"showpage\n%c%cTrailer",'%','%'); fclose(o);
    system("epstopdf besselY0mapWide.eps");
    system(    "open besselY0mapWide.pdf");            
    getchar(); system("killall Preview");//for mac
}

Generator of labels

% File besselY0mapWide.pdf should be generated with the code above in order to draw the PDF picture with the Latex document below.
% The document should be saved as BesselY0mapWideT.tex
% The compilation gives BesselY0mapWideT.pdf
% that file can be converted to PNG format with resolution 39  picels/inch giving the file loaded.
% Copyleft 2012 by Dmitrii Kouznetsov.

%%<br> \documentclass[12pt]{article} %<br> \paperheight 1038px %<br> \paperwidth 4044px %<br> \textwidth 4094px %<br> \textheight 1200px %<br> \topmargin -80px %<br> \oddsidemargin -80px %<br> \usepackage{graphics} %<br> \usepackage{rotating} %<br> \usepackage{color}%<br> \newcommand \sx {\scalebox} %<br> \newcommand \rot {\begin{rotate}} %<br> \newcommand \ero {\end{rotate}} %<br> \newcommand \ing {\includegraphics} %<br> \newcommand \rmi {\mathrm{i}} %<br> \begin{document} %<br> \newcommand \zoomax { %<br> \put(16,1020){\sx{4.4}{$y$}} %<br> \put(16,930){\sx{4}{$4$}} %<br> \put(16,830){\sx{4}{$3$}} %<br> \put(16,730){\sx{4}{$2$}} %<br> \put(16,630){\sx{4}{$1$}} %<br> \put(16,530){\sx{4}{$0$}} %<br> \put(-4, 430){\sx{4}{$-\!1$}} %<br> \put(-4, 330){\sx{4}{$-\!2$}} %<br> \put(-4, 230){\sx{4}{$-\!3$}} %<br> \put(-4, 130){\sx{4}{$-\!4$}} %<br> %<br> \put(204, 5){\sx{4}{$-\!18$}} %<br> \put(404, 5){\sx{4}{$-\!16$}} %<br> \put(604, 5){\sx{4}{$-\!14$}} %<br> \put(804, 5){\sx{4}{$-\!12$}} %<br> \put(1004, 5){\sx{4}{$-\!10$}} %<br> \put(1220, 5){\sx{4}{$-\!8$}} %<br> \put(1420, 5){\sx{4}{$-\!6$}} %<br> \put(1620, 5){\sx{4}{$-\!4$}} %<br> \put(1820, 5){\sx{4}{$-\!2$}} %<br> \put(2043, 5){\sx{4}{$0$}} %<br> \put(2243, 5){\sx{4}{$2$}} %<br> \put(2443, 5){\sx{4}{$4$}} %<br> \put(2643, 5){\sx{4}{$6$}} %<br> \put(2843, 5){\sx{4}{$8$}} %<br> \put(3033, 5){\sx{4}{$10$}} %<br> \put(3233, 5){\sx{4}{$12$}} %<br> \put(3433, 5){\sx{4}{$14$}} %<br> \put(3633, 5){\sx{4}{$16$}} %<br> \put(3833, 5){\sx{4}{$18$}} %<br> \put(4031,6){\sx{4}{$x$}} %<br> %<br> } %<br> \parindent 0pt %<br> \begin{picture}(4016,1016) %<br> %\put(40,30){\sx{10}{\ing{besselj1o}}} %<br> \put(40,30){\sx{10}{\ing{besselY0mapWide}}} %<br> \zoomax %<br> %<br> \put( 100,526){\sx{6}{\bf cut}} %<br> %<br> \put( 179,644){\sx{4}{$u\!=\!0.2$}} %<br> \put( 179,584){\sx{5}{$u\!=\!0$}} %<br> \put( 179,470){\sx{5}{$u\!=\!0$}} %<br> \put( 179,410){\sx{4}{$u\!=\!0.2$}} %<br> \put( 324,766){\sx{5.2}{$v\!=\!-1$}} %<br> \put( 332,298){\sx{5.2}{$v\!=\!1$}} %<br> \put( 597,584){\sx{5}{$u\!=\!0$}} %<br> \put( 597,470){\sx{5}{$u\!=\!0$}} %<br> \put( 900,584){\sx{5}{$u\!=\!0$}} %<br> \put( 900,470){\sx{5}{$u\!=\!0$}} %<br> \put(1210,584){\sx{5}{$u\!=\!0$}} %<br> \put(1210,470){\sx{5}{$u\!=\!0$}} %<br> \put(1540,580){\sx{5}{\rot{-5}$u\!=\!0$\ero}} %<br> \put(1540,474){\sx{5}{\rot{5}$u\!=\!0$\ero}} %<br> \put(2070,590){\rot{40}\sx{5}{$v\!=\!1$}\ero} %<br> \put(2120,440){\rot{62}\sx{5}{$u\!=\!0$}\ero} %<br> \put(2150,425){\rot{48}\sx{4}{$u\!=\!0.4$}\ero} %<br> \put(2177,424){\rot{30}\sx{4}{$u\!=\!0.6$}\ero} %<br> \put(2184,394){\sx{5}{$u\!=\!1$}} %<br> \put(2370,630){\sx{4}{$v\!=\!-0.4$}} %<br> \put(2370,580){\sx{4}{$v\!=\!-0.2$}} %<br> \put(2384,527){\sx{5}{$v\!=\!0$}} %<br> \put(2380,480){\sx{4}{$v\!=\!0.2$}} %<br> \put(2380,440){\sx{4}{$v\!=\!0.4$}} %<br> \put(2617,480){\rot{90}\sx{5}{$v\!=\!0$}\ero} %<br> \put(2780,480){\rot{90}\sx{5}{$u\!=\!0$}\ero} %<br> \put(2932,480){\rot{90}\sx{5}{$v\!=\!0$}\ero} %<br> \put(3101,480){\rot{90}\sx{5}{$u\!=\!0$}\ero} %<br> \put(3174,470){\rot{90}\sx{4}{$u\!=\!-0.2$}\ero} %<br> \put(3244,480){\rot{90}\sx{5}{$v\!=\!0$}\ero} %<br> \put(3314,470){\rot{90}\sx{4}{$u\!=\!-0.2$}\ero} %<br> \put(3414,480){\rot{90}\sx{5}{$u\!=\!0$}\ero} %<br> \put(3520,480){\rot{90}\sx{4}{$u\!=\!0.2$}\ero} %<br> \put(3570,480){\rot{90}\sx{5}{$v\!=\!0$}\ero} %<br> \put(3620,480){\rot{90}\sx{4}{$u\!=\!0.2$}\ero} %<br> \put(3730,480){\rot{90}\sx{5}{$u\!=\!0$}\ero} %<br> \put(3800,580){\sx{4}{$u\!=\!-0.2$}} %<br> \put(3800,526){\sx{5}{$v\!=\!0$}} %<br> \put(3800,490){\sx{4}{$u\!=\!-0.2$}} %<br> \put(4040,482){\rot{90}\sx{5}{$u\!=\!0$}\ero} %<br> % %<br> \end{picture} % %<br> \end{document} % %<br> % % Copyleft 2012 by Dmitrii Kouznetsov

File history

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

Date/TimeThumbnailDimensionsUserComment
current17:50, 20 June 2013Thumbnail for version as of 17:50, 20 June 20132,191 × 563 (1.91 MB)Maintenance script (talk | contribs)Importing image file

There are no pages that use this file.

Metadata