Difference between revisions of "BesselJ0"
m (Text replacement - "\$([^\$]+)\$" to "\\(\1\\)") |
|||
Line 3: | Line 3: | ||
[[File:BesselY0J0J1plotT060.png|500px|thumb| |
[[File:BesselY0J0J1plotT060.png|500px|thumb| |
||
[[Explicit plot]] of [[BesselY0]] (red), [[BesselJ1]] (green) and [[BesselJ0]] (blue)]] |
[[Explicit plot]] of [[BesselY0]] (red), [[BesselJ1]] (green) and [[BesselJ0]] (blue)]] |
||
− | [[File:Besselj0map1T080.png|right|500px|thumb| |
+ | [[File:Besselj0map1T080.png|right|500px|thumb|\(u+\mathrm i v=\mathrm{BesselJ}_0 (x+\mathrm i y)\)]] |
− | '''BesselJ0''' called also the '''[[Bessel function]] of zero order''' and also |
+ | '''BesselJ0''' called also the '''[[Bessel function]] of zero order''' and also \(J_0\), is [[entire function]], solution of equation |
− | : |
+ | : \( \!\!\!\!\!\!\!\!\!\! (1) \displaystyle ~ ~ ~ |
J_0''(z)+ |
J_0''(z)+ |
||
J_0'(z)/z+ |
J_0'(z)/z+ |
||
− | J_0(z)=0 |
+ | J_0(z)=0 \) |
− | : |
+ | : \( \!\!\!\!\!\!\!\!\!\! (2) \displaystyle ~ ~ ~ J_0(0)=1 ~, ~~ J_0'(0)=0\) |
− | [[Complex map]] of function BesselJ0 is shown in figure at right. The short notation |
+ | [[Complex map]] of function BesselJ0 is shown in figure at right. The short notation \(J_0=\mathrm{BesselJ0}\) is also valid. |
==Integral representation== |
==Integral representation== |
||
− | : |
+ | : \( \!\!\!\!\!\!\!\!\!\! (3) \displaystyle ~ ~ ~ \mathrm{BesselJ}_0(z)= |
\frac{1}{\pi}\int_0^\pi \cos\!\big( z \cos (t) \big)~ \mathrm d t |
\frac{1}{\pi}\int_0^\pi \cos\!\big( z \cos (t) \big)~ \mathrm d t |
||
+ | \) |
||
− | $ |
||
==Symmetry== |
==Symmetry== |
||
Line 22: | Line 22: | ||
The BesselJ0 is real-holomorphic, |
The BesselJ0 is real-holomorphic, |
||
− | : |
+ | : \( \!\!\!\!\!\!\!\!\!\! (4) \displaystyle ~ ~ ~ \mathrm{BesselJ}_0(z^*)= \mathrm{BesselJ}_0(z)^*\) |
The BesselJ0 is symmetric function, |
The BesselJ0 is symmetric function, |
||
− | : |
+ | : \( \!\!\!\!\!\!\!\!\!\! (5) \displaystyle ~ ~ ~ \mathrm{BesselJ}_0(-z)= \mathrm{BesselJ}_0(z)\) |
==Expansion at zero== |
==Expansion at zero== |
||
The straightforward Taylor expansion at zero can be written as follows: |
The straightforward Taylor expansion at zero can be written as follows: |
||
− | : |
+ | : \( \!\!\!\!\!\!\!\!\!\! (6) \displaystyle ~ ~ ~ \mathrm{BesselJ}_0(z)= |
\sum_{n=0}^{\infty} |
\sum_{n=0}^{\infty} |
||
\frac{ (-z^2/4)^n } |
\frac{ (-z^2/4)^n } |
||
Line 40: | Line 40: | ||
+\frac{z^4}{64} |
+\frac{z^4}{64} |
||
-\frac{z^6}{2304}+ ... |
-\frac{z^6}{2304}+ ... |
||
+ | \) |
||
− | $ |
||
− | The series converges in the whole complex plane and, at the complex(double) arithmetics, gives of order of dozen significant figures at least for |
+ | The series converges in the whole complex plane and, at the complex(double) arithmetics, gives of order of dozen significant figures at least for \(|z|\!<\!20\); it is sufficient to keep few tens of terms in the expansion. For larger values of the argument, the expansion below can be used. |
==Expansion at infinity== |
==Expansion at infinity== |
||
Line 48: | Line 48: | ||
Expansion at large vales of the argument can be written as follows: |
Expansion at large vales of the argument can be written as follows: |
||
− | : |
+ | : \( \!\!\!\!\!\!\!\!\!\! (8) \displaystyle ~ ~ ~ J_0(z) \approx |
\sqrt{\frac{2}{\pi z}} \cos\!\left(z-\frac{\pi}{4}\right) \left( 1 - \frac{9}{128 z^2}+ ..\right) |
\sqrt{\frac{2}{\pi z}} \cos\!\left(z-\frac{\pi}{4}\right) \left( 1 - \frac{9}{128 z^2}+ ..\right) |
||
− | + | \) \(+\) \(\displaystyle |
|
\sqrt{\frac{2}{\pi z}} \sin\!\left(z-\frac{\pi}{4}\right) \frac{1}{8z}\left( 1 - \frac{75}{128 z^2}+ ..\right) |
\sqrt{\frac{2}{\pi z}} \sin\!\left(z-\frac{\pi}{4}\right) \frac{1}{8z}\left( 1 - \frac{75}{128 z^2}+ ..\right) |
||
+ | \) |
||
− | $ |
||
[[Mathematica]] allows to calculate a dozen of term of this expansion; they can be extracted also from the [[complex(double)]] implementation [[Besselj0.cin]]. |
[[Mathematica]] allows to calculate a dozen of term of this expansion; they can be extracted also from the [[complex(double)]] implementation [[Besselj0.cin]]. |
||
Line 62: | Line 62: | ||
</ref>: |
</ref>: |
||
− | + | \(J_0(x) = \displaystyle |
|
− | \frac{2}{\pi x} A(x) \, \cos(x-\pi/4+\Phi(x)) |
+ | \frac{2}{\pi x} A(x) \, \cos(x-\pi/4+\Phi(x))\) |
− | + | \(A(x)\approx 1-\frac{1}{16 x^2}+\frac{53}{512 x^4}-\frac{4447}{8192 x^6} |
|
+\frac{3066403}{524288x^8} |
+\frac{3066403}{524288x^8} |
||
-\frac{896631415}{8388608 x^{10}} |
-\frac{896631415}{8388608 x^{10}} |
||
+\frac{796754802993}{268435456 x^{12}} |
+\frac{796754802993}{268435456 x^{12}} |
||
− | +.. |
+ | +..\) |
− | + | \(\Phi(x)\approx \frac{-1}{8x}+\frac{25}{384 x^3} |
|
-\frac{1073}{5120 x^5} |
-\frac{1073}{5120 x^5} |
||
+\frac{375733}{229376 x^7} |
+\frac{375733}{229376 x^7} |
||
-\frac{55384775}{2359296 x^9} |
-\frac{55384775}{2359296 x^9} |
||
+\frac{24713030909}{46137344 x^{11}} |
+\frac{24713030909}{46137344 x^{11}} |
||
− | +.. |
+ | +..\) |
Coefficients of the expansions above can be calculated and verified with the [[Mathematica]] code below: |
Coefficients of the expansions above can be calculated and verified with the [[Mathematica]] code below: |
||
Line 87: | Line 87: | ||
Plot[{10^15 (sLA[x] Sqrt[2/(Pi x)] Cos[- Pi/4 + sLi[x]] - BesselJ[0,x])}, {x,18,29}, AspectRatio -> .3, GridLines -> {{20}, {}}] |
Plot[{10^15 (sLA[x] Sqrt[2/(Pi x)] Cos[- Pi/4 + sLi[x]] - BesselJ[0,x])}, {x,18,29}, AspectRatio -> .3, GridLines -> {{20}, {}}] |
||
</poem> |
</poem> |
||
− | The precision of corresponding approximation of [[BesselJ0]] |
+ | The precision of corresponding approximation of [[BesselJ0]]\((x)\) reaches the machine precision at \(x>20\). |
− | The asymptotic expansions for [[BesselJ0]] diverge, but are useful for precise evaluation of [[BesseoJ0[[ |
+ | The asymptotic expansions for [[BesselJ0]] diverge, but are useful for precise evaluation of [[BesseoJ0[[\((z)\) at \(|z|>20\), giving of order of 16 significant figures. |
==Behavior along the real axis== |
==Behavior along the real axis== |
||
− | Along the real axis, BesselJ0 oscillates (like other [[Bessel]] functions). The zeros of are denoted with |
+ | Along the real axis, BesselJ0 oscillates (like other [[Bessel]] functions). The zeros of are denoted with \(j_{0,n}\); where \(n\) is supposed to be positive integer. The [[WebMatematica]] offers the on-line service to evaluate these zeros |
<ref> |
<ref> |
||
http://cose.math.bas.bg/webMathematica/webComputing/BesselZeros.jsp |
http://cose.math.bas.bg/webMathematica/webComputing/BesselZeros.jsp |
||
Line 123: | Line 123: | ||
S.F.Yu. School of Electrical & Electronic Engineering, Nanyang Technological University.Singapore. |
S.F.Yu. School of Electrical & Electronic Engineering, Nanyang Technological University.Singapore. |
||
</ref> in the following form: |
</ref> in the following form: |
||
− | : |
+ | :\( \displaystyle \int_0^W ~ J_0(s_p r)~ j_0(s_q r) ~r~ \mathrm d r = \delta_{p,q} \frac{W^2}{2} J_0'(s_p W)^2\) |
− | : |
+ | :\( \displaystyle \int_0^W ~ J_0(s r_q)~ j_0(s r_p) ~r~ \mathrm d r = \delta_{p,q} \frac{S^2}{2} J_0'(S\, r_p )^2\) |
− | : |
+ | :\( r_{2n+1}=W ~ ~ , ~ ~ s_{n+1}=S\) |
− | : |
+ | :\( \zeta_{2n+1}=SW\) |
That needs to be somehow interpreted. |
That needs to be somehow interpreted. |
||
==Numerical implementation== |
==Numerical implementation== |
||
Line 132: | Line 132: | ||
The numerical implementation of BesselJ0 can be extracted from description of figure http://mizugadro.mydns.jp/t/index.php/File:Besselj0map1T080.png |
The numerical implementation of BesselJ0 can be extracted from description of figure http://mizugadro.mydns.jp/t/index.php/File:Besselj0map1T080.png |
||
− | In [[Mathematica]], BesselJ0 |
+ | In [[Mathematica]], BesselJ0\((z)\) can be calculated with the built-in function, BesselJ[0,z] . |
− | For real values of the argument, in [[C++]], there is built-in function j0 that evaluates |
+ | For real values of the argument, in [[C++]], there is built-in function j0 that evaluates \(J_0\). |
==Application== |
==Application== |
Latest revision as of 18:25, 30 July 2019
BesselJ0 called also the Bessel function of zero order and also \(J_0\), is entire function, solution of equation
- \( \!\!\!\!\!\!\!\!\!\! (1) \displaystyle ~ ~ ~ J_0''(z)+ J_0'(z)/z+ J_0(z)=0 \)
- \( \!\!\!\!\!\!\!\!\!\! (2) \displaystyle ~ ~ ~ J_0(0)=1 ~, ~~ J_0'(0)=0\)
Complex map of function BesselJ0 is shown in figure at right. The short notation \(J_0=\mathrm{BesselJ0}\) is also valid.
Integral representation
- \( \!\!\!\!\!\!\!\!\!\! (3) \displaystyle ~ ~ ~ \mathrm{BesselJ}_0(z)= \frac{1}{\pi}\int_0^\pi \cos\!\big( z \cos (t) \big)~ \mathrm d t \)
Symmetry
The BesselJ0 is real-holomorphic,
- \( \!\!\!\!\!\!\!\!\!\! (4) \displaystyle ~ ~ ~ \mathrm{BesselJ}_0(z^*)= \mathrm{BesselJ}_0(z)^*\)
The BesselJ0 is symmetric function,
- \( \!\!\!\!\!\!\!\!\!\! (5) \displaystyle ~ ~ ~ \mathrm{BesselJ}_0(-z)= \mathrm{BesselJ}_0(z)\)
Expansion at zero
The straightforward Taylor expansion at zero can be written as follows:
- \( \!\!\!\!\!\!\!\!\!\! (6) \displaystyle ~ ~ ~ \mathrm{BesselJ}_0(z)= \sum_{n=0}^{\infty} \frac{ (-z^2/4)^n } {\mathrm{Factorial}(n)^2} = 1 -\frac{z^2}{4} +\frac{z^4}{64} -\frac{z^6}{2304}+ ... \)
The series converges in the whole complex plane and, at the complex(double) arithmetics, gives of order of dozen significant figures at least for \(|z|\!<\!20\); it is sufficient to keep few tens of terms in the expansion. For larger values of the argument, the expansion below can be used.
Expansion at infinity
Expansion at large vales of the argument can be written as follows:
- \( \!\!\!\!\!\!\!\!\!\! (8) \displaystyle ~ ~ ~ J_0(z) \approx \sqrt{\frac{2}{\pi z}} \cos\!\left(z-\frac{\pi}{4}\right) \left( 1 - \frac{9}{128 z^2}+ ..\right) \) \(+\) \(\displaystyle \sqrt{\frac{2}{\pi z}} \sin\!\left(z-\frac{\pi}{4}\right) \frac{1}{8z}\left( 1 - \frac{75}{128 z^2}+ ..\right) \)
Mathematica allows to calculate a dozen of term of this expansion; they can be extracted also from the complex(double) implementation Besselj0.cin.
Amplitude and phase
Another expansion represents BesselJ0 in terms of its amplitude and phase [1]:
\(J_0(x) = \displaystyle \frac{2}{\pi x} A(x) \, \cos(x-\pi/4+\Phi(x))\)
\(A(x)\approx 1-\frac{1}{16 x^2}+\frac{53}{512 x^4}-\frac{4447}{8192 x^6} +\frac{3066403}{524288x^8} -\frac{896631415}{8388608 x^{10}} +\frac{796754802993}{268435456 x^{12}} +..\)
\(\Phi(x)\approx \frac{-1}{8x}+\frac{25}{384 x^3} -\frac{1073}{5120 x^5} +\frac{375733}{229376 x^7} -\frac{55384775}{2359296 x^9} +\frac{24713030909}{46137344 x^{11}} +..\)
Coefficients of the expansions above can be calculated and verified with the Mathematica code below:
sL[x_] = Normal[Series[Log[HankelH1[0, x] Sqrt[Pi I x/2]], {x, Infinity, 16}]]
sLr[x_] = Expand[(sL[x] + sL[-x])/2]
sLi[x_] = Expand[(sL[x] - sL[-x])/2/I]
sLA[x_] = Normal[Series[HankelH1[0, x] Sqrt[Pi I x/2] Exp[-I sLi[x]], {x, Infinity, 16}]]
Plot[{Re[HankelH1[0, x]], Re[sLA[x] Sqrt[2/(Pi I x)] Exp[I sLi[x]]]}, {x,1,21}]
Plot[{10^15 (sLA[x] Sqrt[2/(Pi x)] Cos[- Pi/4 + sLi[x]] - BesselJ[0,x])}, {x,18,29}, AspectRatio -> .3, GridLines -> {{20}, {}}]
The precision of corresponding approximation of BesselJ0\((x)\) reaches the machine precision at \(x>20\).
The asymptotic expansions for BesselJ0 diverge, but are useful for precise evaluation of [[BesseoJ0[[\((z)\) at \(|z|>20\), giving of order of 16 significant figures.
Behavior along the real axis
Along the real axis, BesselJ0 oscillates (like other Bessel functions). The zeros of are denoted with \(j_{0,n}\); where \(n\) is supposed to be positive integer. The WebMatematica offers the on-line service to evaluate these zeros [2]; a thousand of zeros can be evaluated within few seconds. In particular, the first 5 values are
- 2.404825557695773
- 5.520078110286311
- 8.653727912911011
- 11.79153443901428
- 14.93091770848779
In C++, zeros of the Bessel function can be implemented with the code beginning with
#include<stdio.h>
#include<math.h>
#define DB double
DB jnp(int n,DB x){ return .5*( jn(n-1,x)-jn(n+1,x) ) ; } // Derivative of n th Bessel
DB jnz(int v, int k){ DB x,t; t=M_PI*(k+.5*v-.25); x= t - (v*v-.25)*.5/t;
x-= jn(v,x)/jnp(v,x); // Newton adjustment of the root
x-= jn(v,x)/jnp(v,x);
x-= jn(v,x)/jnp(v,x);
return x; } // the k th zero of v th Bessel
Integral properties
The orthogonality properties for the zero-th Bessel is suggested [3] in the following form:
- \( \displaystyle \int_0^W ~ J_0(s_p r)~ j_0(s_q r) ~r~ \mathrm d r = \delta_{p,q} \frac{W^2}{2} J_0'(s_p W)^2\)
- \( \displaystyle \int_0^W ~ J_0(s r_q)~ j_0(s r_p) ~r~ \mathrm d r = \delta_{p,q} \frac{S^2}{2} J_0'(S\, r_p )^2\)
- \( r_{2n+1}=W ~ ~ , ~ ~ s_{n+1}=S\)
- \( \zeta_{2n+1}=SW\)
That needs to be somehow interpreted.
Numerical implementation
The numerical implementation of BesselJ0 can be extracted from description of figure http://mizugadro.mydns.jp/t/index.php/File:Besselj0map1T080.png
In Mathematica, BesselJ0\((z)\) can be calculated with the built-in function, BesselJ[0,z] .
For real values of the argument, in C++, there is built-in function j0 that evaluates \(J_0\).
Application
The Bessel function appear at the consideration of wave equations with circular symmetry.
References
- ↑ http://www.cl.cam.ac.uk/~jrh13/papers/bessel.pdf John Harrison. Fast and Accurate Bessel Function Computation.
- ↑ http://cose.math.bas.bg/webMathematica/webComputing/BesselZeros.jsp
- ↑ http://www.scribd.com/doc/62046269/29/A-5-Bessel-Transform-and-Discrete-Bessel-Transform ANALYSIS AND DESIGN OF VERTICAL CAVITY SURFACE EMITTING LASERS. WILEY SERIES IN LASERS AND APPLICATIONS. D. R. VIJ, Editor, Kurukshetra University. S.F.Yu. School of Electrical & Electronic Engineering, Nanyang Technological University.Singapore.