File:Moriplot300.jpg

The principal Bessel mode

$y\!=\!J_0(x)\theta(x)$, red line,

and its scaled Bessel transform, expressed through the Morinaga function

$y\!=\,$mori$(x)\!=\!$ $\displaystyle \frac{J_0(L_1 x)}{1\!-\!x^2}$, blue line.

Here, $L_n$ is the $n$th zero of the Bessel function, $L_n\!=\,$BesselJZero$[0,n]$

In particular, $L_1\!\approx\! 2.404825557695773$

Other versions
Shortened version of this image is named File:MoriplotFragment.jpg

http://mizugadro.mydns.jp/t/index.php/File:MoriplotFragment.jpg

C++ generator of curves
File ado.cin should be loaded in order to compile the code below. //#include "scft.cin" DB L1= 2.404825557695773; DB L2= 5.5200781102863115; DB L3= 8.653727912911013; DB L4=11.791534439014281; //DB mory(DB x){ return j0(x)/(1.-(1./(L1*L1))*x*x);} // mory also could be principal, but for graphics mori is better. DB morin(DB x){ return j0(L1*x)/(1-x*x);} // naive representation fails at x=1. DB mori0(DB x){ int n,m; DB s, xx=x*x; DB c[16]={ 1., -0.4457964907366961303, 0.07678538241994023453, -0.0071642885058902232688, 0.00042159522055140947688, -0.000017110542281627483109, 5.0832583976057607495e-7, -1.1537378620148452816e-8, 2.0662789231930073316e-10, -2.9948657413756059965e-12, 3.5852738451127332173e-14,-3.6050239634659700777e-16, 3.0877184831292878827e-18, -2.2798156440952688462e-20, 1.4660907878585489441e-22,-8.2852774398657968065e-25}; //  16th term seems to fail; perhaps, due to the C++ rounding errors. //with m=15, at |x|<2, the relative error is of order of 10^(-16) //In this sense, the result is accurate while |x|<2. m=15; s=c[m]*xx; for(n=m-1;n>0;n--){ s+=c[n]; s*=xx;} return 1.+s;} DB mori(DB x){if(fabs(x)<2.) return mori0(x); return morin(x);}
 * 1) include 
 * 2) include 
 * 3) include
 * 1) define DB double
 * 2) include "ado.cin"

int main{ int i; //double a[NP+1],b[NP+1]; double d=sqrt(M_PI/NP); //double x,y,f,g; FILE *o; o=fopen("08.eps","w"); ado(o,620,820); double x,y,f,g; FILE *o; o=fopen("moriplo.eps","w"); ado(o,620,120); fprintf(o,"10 10 translate 100 100 scale 2 setlinecap 1 setlinejoin\n"); for(i=0;i<12;i++){M(.5*i,0)L(.5*i,1)} for(i=0;i<3;i++){M(0,.5*i)L(5.5,.5*i)} fprintf(o,".006 W S\n"); M(L2/L1,1)L(L2/L1,-.04) M(L1,1)L(L1,-.04) M(L3/L1,1)L(L3/L1,-.04) M(L4/L1,1)L(L4/L1,-.04) fprintf(o,".003 W S\n"); for(i=0;i<101;i++){x=.01*L1*i; y=j0(x); if(i==0)M(x,y) else L(x,y); } L(L1,0)L(618,0) fprintf(o,".009 W 1 0 0 RGB S\n"); //for(i=0;i<122;i++){x=.05*(i-.1);y=morin(x); if(i==0)M(x,y) else L(x,y);} fprintf(o,".009 W 0 0 1 RGB S\n"); //for(i=0;i<122;i++){x=.05*(i-.1);y=mori0(x); if(i==0)M(x,y) else L(x,y); if(fabs(y)>1) break;} fprintf(o,".009 W 0 .9 0 RGB S\n"); for(i=0;i<122;i++){x=.05*i;y=mori(x); if(i==0) M(x,y) else L(x,y); if(fabs(y)>1) break;} fprintf(o,".009 W 0 0 1 RGB S\n"); /* for(i=1;i<640;i++){ x=.01*(i-.5); f=mori0(x); g=morin(x); if(f==g){y=9.;} else { y=-log(fabs(f-g)/(fabs(f)+fabs(g))); y/=log(10.); y/=2.;}; if(i==1)M(x,y) else L(x,y); printf("%5.2lf %20.14lf %20.14lf %10.4lf\n",x,f,g,y);} fprintf(o,".008 W 0 0 0 RGB S\n"); // this is agreement of functions morin and mori0; important at the testing. fprintf(o,"showpage\n%c%cTrailer\n",'%','%'); fclose(o); system("epstopdf moriplo.eps"); system(   "open moriplo.pdf"); }
 * 1) define M(x,y) fprintf(o,"%9.4lf %9.4lf M\n",x+0.,y+0.);
 * 2) define L(x,y) fprintf(o,"%9.4lf %9.4lf L\n",x+0.,y+0.);

Latex generator of labels
\documentclass[12pt]{article} \usepackage{geometry} \usepackage{graphics} \usepackage{rotating} %\paperwidth 570pt \paperwidth 462pt %\paperheight 138pt \paperheight 124pt \textwidth 420pt \textheight 300pt \topmargin -108pt \oddsidemargin -73pt \newcommand \ds {\displaystyle} \newcommand \sx {\scalebox} \newcommand \rme {\mathrm{e}} \newcommand \rot {\begin{rotate}} \newcommand \ero {\end{rotate}} \newcommand \ing {\includegraphics} \pagestyle{empty} \parindent 0pt \begin{document} %\begin{picture}(410,126) \begin{picture}(410,113) \put(0,0){\ing{moriplo}} %\put(.6,120){\sx{1.25}{$y\!=\!\exp(-x^2/2)$ and its discrete representation with CFT at $N\!= 4$}} %\put(.6,120){\sx{1.25}{$y$}} \put(.6,103){\sx{1.3}{$1$}} \put(.6,56){\sx{1.4}{$\frac{1}{2}$}} \put(.6, 5){\sx{1.3}{$0$}} \put(107,-2){\sx{1.3}{$1$}} \put(207,-2){\sx{1.3}{$2$}} \put(230,-3){\sx{1.2}{$\frac{L_2}{L_1}$}} \put(247,-2){\sx{1.1}{$L_1$}} \put(308,-2){\sx{1.3}{$3$}} \put(364,-3){\sx{1.2}{$\frac{L_3}{L_1}$}} \put(408,-2){\sx{1.3}{$4$}} \put(452,-1.6){\sx{1.3}{$x$}} %\put(494,-4){\sx{1.2}{$\frac{L_4}{L_1}$}} %\put(509,-2){\sx{1.3}{$5$}} %\put(562,-1.6){\sx{1.3}{$x$}} \put(120,90){\rot{-28}\sx{1.3}{$y\!=\! J_0(x)\theta(L_1\!-\!x)$}\ero} \put(112,58){\rot{-33}\sx{1.3}{$y\!=\! \mathrm{mori}(x)$}\ero} \end{picture}\end{document}