Bessel transform

Jump to: navigation, search

Bessel Transform or BesselTransform, called also Hankel transform

at order \(\nu\) is operator that converts function \(f\) to funciton \(g=\mathrm{BesselTransform}_\nu(f)\) such that

\(\!\!\!\!\!\!\!\!\!\!\! (1) \displaystyle ~ ~ ~ g ( p ) =\int_0^\infty \mathrm{BesselJ}_\nu(px) f(x) x ~\mathrm d x\)

where BesselJ\(_\nu\) is the Bessel function, and \(\nu\) is assumed to be real number; in many applications \(\nu\) is natural number or just zero.

WARNING! The formulas of this article are not yet verified with pics, so, test well all you need before to use it! In addition.

Hankel transform and Bessel transform

In publications, it is difficult to see difference between meanings of terms Hankel transform and Bessel transform is found. In TORI, in future, these two terms may be used to denote transform with kernels

\(\mathrm{HankelKernel}(p,x)= \frac{1}{2 pi} \mathrm{BesselJ}_\nu(2 \pi px)\)


\(\mathrm{BesselKernel}(p,x)= \mathrm{BesselJ}_\nu(2 \pi px)\)


The second iteration of the BesselTransform is Identity transform, id set, \(\mathrm{BesselTransform}^2= \)IdentiryOperator, and, for \(f\) and \(g\) related with (1), the inverse relation takes place,

\(\!\!\!\!\!\!\!\!\!\!\! (2) \displaystyle ~ ~ ~ f ( p ) =\int_0^\infty \mathrm{BesselJ}_\nu(px) g(x) x ~ \mathrm d x\)

at least for continuous functions \(f\) and \(g\).

While no unique notations is established, the definition of transform should be supplied at very beginning of each article that use it.

Discrete Bessel

Te discrete analogy of the Bessel transform is defined at an array \(f\) of length \(N\), and gives array \(g=\mathrm{BesselTransform}_{N,\nu}(f)\) with the following formula:

\(\!\!\!\!\!\!\!\!\!\!\! (3) \displaystyle ~ ~ ~ g_m = \sum_{n=1}^{N}~ T_{m,n}~ f_n\)

with matrix \(T\) defined with

\(\!\!\!\!\!\!\!\!\!\!\! (4) \displaystyle ~ ~ ~ T_{m,n}=\frac{ 2~ \mathrm{BesselJ}_{\nu} \left( \frac{ \alpha_{\nu,n}~ \alpha_{\nu,m} }{\alpha_{\nu,N+1}} \right) }{ \left| \mathrm{BesselJ}_{\nu+1}(\alpha_{\nu,m}) \right|~ \left| \mathrm{BesselJ}_{\nu+1}(\alpha_{\nu,n}) \right|~ \alpha_{\nu,N+1} }\)

where \(\alpha_{\nu,n}\) is \(n\)th zero of function BesselJ\(_{\nu}\).

The \(n\)th element of array \(f\) or \(g\) corresponds to the function evaluated at point \(\displaystyle \frac{\alpha_{\nu, n}}{\sqrt{\alpha_{\nu,N+1}}}\)

and scaled with factor \(\displaystyle \frac {\alpha_{\nu,N+1}} {|J_{\nu+1}(\alpha_{\nu,n})|}\)

The numerical test is not yet loaded.

Scaling of the argument

As in the case of the Fourier transform, the scale of the arguments of the functions \(f\) and \(g\) can be varied, defining the new function \( F(x)=f(x ~ M) M\) and \( G(x)=g( x / M) /M\) where \(M\) is real parameter of magnification. Similar scaling can be applied also to the discrete Bessel transform.

Scaling of the function

The additional factor in the integral representation of the Bessel transform can be eliminated, multiplying each, the function and its transform, to the square root of the argument, with corresponding modification of the kernel. [1].

Truncated Hankel transform

The "truncated Hankel transform" called also "finite Hanlel transform" relates functions \(f\) and \(g\) such that

\( \displaystyle f(x)= \int_0^1 J_m(xy)~ g(y)~y ~\mathrm{d} y \)

In notations by [2], the functions are already multiplied by the square toot of their argument; for example, \(T(x)=f(x)\sqrt{x}\).

The corresponding modification of the kernel of the integral transfom, \(\mathrm d y\) appears instead of \(y\,\mathrm d y\). It is not clear which notation is better; so, perhaps, both notations will be used in TORI.

However, the second iteration of the truncated Hankel transform is not the identity transform.

Application of the Bessel transform

The Bessel transform of zero-th order (id set, \(\nu=0\) in the formulas above) is useful for the description of propagation of waves with circular (radial) symmetty.

In particular this method could bemused for the precise numerical testing of the general interpretation of guiding of waves with series of pinholes. [3][4]


There are many publications, that describe the Bessel (Hankel) transform. The amount of these publications indicate, that the fast, efficient Bessel transform is not so easy to implement, and the implementation is not so easy to translate from the original programming language to other languages.


  1. W.N.Everitt, H.Kalf. The Bessel differential equation and the Hankeltransform. Journal of Computational and Applied Mathematics Volume 208, Issue 1, 1 November 2007, Pages 3–19.
  2. P. Amodio, T. Levitina, G. Settanni, and E. B. Weinmu ̈ller. On the Calculation of the Finite Hankel Transform Eigenfunctions. November 29, 2011
  3. Guiding of Light with Pinholes. Makoto Morinaga. (Submitted on 11 Jul 2014)
  4. Makoto Morinaga. Wave propagation through a set of slits. Optical Review, February 2015, Volume 22, Issue 1, pp 33-38. 26 February 2015.

1985. JOURNAL OF COMPUTATIONAL PHYSICS 59, 136-151 (1985) ROB BISSELINC AND RONNIE KOSLOFF. The Fast Hankel Transform as a Tool in the Solution of the Time Dependent Schrijdinger Equation.

1999. Poularikas A. D. “The Hankel Transform” The Handbook of Formulas and Tables for Signal Processing. Ed. Alexander D. Poularikas. Boca Raton: CRC Press LLC,1999. GNU Scientific Library Reference Manual - Third Edition (v1.12) by M. Galassi, J. Davies, J. Theiler, B. Gough, G. Jungman, P. Alken, M. Booth, F. Rossi

\( \displaystyle g_m = \int_0^1 t \mathrm d t ~ J_\nu(j_{\nu,m}t) f(t)\)
\( \displaystyle f(t) = \sum_{m=1}^\infty (2 J_\nu(j_{\nu,m}x) / J_{\nu+1}(j_{\nu,m})^2) g_m ~ ~ ~\) (perhaps, \(t=x\) )
\( \displaystyle g_m = (2 / j_{\nu,M}^2) \sum_{k=1}^{M-1} f(j_{\nu,k}/j_{\nu,M}) (J_\nu(j_{\nu,m} j_{\nu,k} / j_{\nu,M}) / J_{\nu+1}(j_{\nu,k})^2) \)

1993. M.J.Cree, P.J.Bones. Algorithma to numerically evaluate the Hankel transform. Computers & Mathematics with Applications Volume 26, Issue 1, July 1993, Pages 1-12,

1995. José A. Ferrari. Fast Hankel transform of order zero. Journal of the Optical Society of America A Vol. 12, Issue 8, pp. 1812-1813 (1995)

2000.06. L.Knockaert . Fast Hankel transform by fast sine and cosine transforms: the Mellin connection. IEEE Transactions on Signal Processing, Volume:48, Issue: 6, Jun 2000.

2001. Timothy M. Pritchett. Fast Hankel Transform Algorithms for Optical Beam Propagation. ARL-TR-2492 December 2001.

2004. M.Guizar-Sicairos, J.C.Gutierrez-Vega. Computation of quasi-discrete Hankel transforms of integer order for propagating optical wave fields. Vol. 21, No. 1/January 2004/J.Opt.Soc.Am.A, p.53-58.

2012. Kerry Key. Is the fast Hankel transform faster than quadrature? GEOPHYSICS, VOL. 77, NO. 3 (MAY-JUNE 2012); P. F21–F30, 10 FIGS., 1 TABLE.


BesselJ0, Fourier transform