# Bessel transform

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)$$

and

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

Respectively,

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. .

## 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 , 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. 

## Implementation

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.