# BesselJ0

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Explicit plot of BesselY0 (red), BesselJ1 (green) and BesselJ0 (blue)
$$u+\mathrm i v=\mathrm{BesselJ}_0 (x+\mathrm i y)$$

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

1. http://www.cl.cam.ac.uk/~jrh13/papers/bessel.pdf John Harrison. Fast and Accurate Bessel Function Computation.
2. 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.