Difference between revisions of "Bessel transform"
m (Text replacement - "\$([^\$]+)\$" to "\\(\1\\)") |
|||
Line 1: | Line 1: | ||
'''Bessel Transform''' or BesselTransform, called also '''Hankel transform''' |
'''Bessel Transform''' or BesselTransform, called also '''Hankel transform''' |
||
− | at order |
+ | 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 |
+ | g ( p ) =\int_0^\infty \mathrm{BesselJ}_\nu(px) f(x) x ~\mathrm d x\) |
− | where [[BesselJ]] |
+ | 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, |
'''WARNING!''' The formulas of this article are not yet verified with pics, |
||
Line 14: | Line 14: | ||
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 |
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 |
and |
||
− | + | \(\mathrm{BesselKernel}(p,x)= \mathrm{BesselJ}_\nu(2 \pi px)\) |
|
Respectively, |
Respectively, |
||
The second iteration of the BesselTransform is [[Identity transform]], |
The second iteration of the BesselTransform is [[Identity transform]], |
||
− | id set, |
+ | id set, \(\mathrm{BesselTransform}^2= \)[[IdentiryOperator]], and, |
− | for |
+ | 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 |
+ | f ( p ) =\int_0^\infty \mathrm{BesselJ}_\nu(px) g(x) x ~ \mathrm d x\) |
− | at least for continuous functions |
+ | 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. |
While no unique notations is established, the definition of transform should be supplied at very beginning of each article that use it. |
||
==Discrete Bessel== |
==Discrete Bessel== |
||
− | Te discrete analogy of the Bessel transform is defined at an array |
+ | 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 |
+ | g_m = \sum_{n=1}^{N}~ T_{m,n}~ f_n\) |
− | with matrix |
+ | with matrix \(T\) defined with |
− | : |
+ | : \(\!\!\!\!\!\!\!\!\!\!\! (4) \displaystyle ~ ~ ~ |
T_{m,n}=\frac{ |
T_{m,n}=\frac{ |
||
2~ \mathrm{BesselJ}_{\nu} \left( |
2~ \mathrm{BesselJ}_{\nu} \left( |
||
Line 49: | Line 49: | ||
\left| \mathrm{BesselJ}_{\nu+1}(\alpha_{\nu,n}) \right|~ |
\left| \mathrm{BesselJ}_{\nu+1}(\alpha_{\nu,n}) \right|~ |
||
\alpha_{\nu,N+1} |
\alpha_{\nu,N+1} |
||
− | } |
+ | }\) |
− | where |
+ | where \(\alpha_{\nu,n}\) is \(n\)th zero of function [[BesselJ]]\(_{\nu}\). |
− | The |
+ | 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 |
+ | and scaled with factor \(\displaystyle |
\frac |
\frac |
||
{\alpha_{\nu,N+1}} |
{\alpha_{\nu,N+1}} |
||
− | {|J_{\nu+1}(\alpha_{\nu,n})|} |
+ | {|J_{\nu+1}(\alpha_{\nu,n})|}\) |
The numerical test is not yet loaded. |
The numerical test is not yet loaded. |
||
==Scaling of the argument== |
==Scaling of the argument== |
||
− | As in the case of the [[Fourier transform]], the scale of the arguments of the functions |
+ | 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 |
and |
||
− | + | \( G(x)=g( x / M) /M\) |
|
− | where |
+ | where \(M\) is real parameter of magnification. Similar scaling can be applied also to the discrete Bessel transform. |
==Scaling of the function== |
==Scaling of the function== |
||
Line 80: | Line 80: | ||
==Truncated Hankel transform== |
==Truncated Hankel transform== |
||
The "truncated Hankel transform" called also |
The "truncated Hankel transform" called also |
||
− | "finite Hanlel transform" relates functions |
+ | "finite Hanlel transform" relates functions \(f\) and \(g\) |
such that |
such that |
||
− | : |
+ | :\( \displaystyle |
f(x)= |
f(x)= |
||
\int_0^1 J_m(xy)~ g(y)~y ~\mathrm{d} y |
\int_0^1 J_m(xy)~ g(y)~y ~\mathrm{d} y |
||
− | + | \) |
|
In notations by <ref> |
In notations by <ref> |
||
http://www.math.tuwien.ac.at/~ewa/PDF_Files/Hankel_Transf_Eigenfunctions_Amodioetal |
http://www.math.tuwien.ac.at/~ewa/PDF_Files/Hankel_Transf_Eigenfunctions_Amodioetal |
||
P. Amodio, T. Levitina, G. Settanni, and E. B. Weinmu ̈ller. On the Calculation of the Finite Hankel Transform Eigenfunctions. November 29, 2011 |
P. Amodio, T. Levitina, G. Settanni, and E. B. Weinmu ̈ller. On the Calculation of the Finite Hankel Transform Eigenfunctions. November 29, 2011 |
||
</ref>, |
</ref>, |
||
− | the functions are already multiplied by the square toot of their argument; for example, |
+ | 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, |
+ | 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]]. |
It is not clear which notation is better; so, perhaps, both notations will be used in [[TORI]]. |
||
Line 98: | Line 98: | ||
==Application of the Bessel transform== |
==Application of the Bessel transform== |
||
− | The Bessel transform of zero-th order (id set, |
+ | 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 the [[paraxial approximation]] !--> |
In particular this method could bemused for the precise numerical testing |
In particular this method could bemused for the precise numerical testing |
||
Line 133: | Line 133: | ||
GNU Scientific Library Reference Manual - Third Edition (v1.12) |
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 |
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) |
g_m = (2 / j_{\nu,M}^2) |
||
\sum_{k=1}^{M-1} f(j_{\nu,k}/j_{\nu,M}) |
\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) |
(J_\nu(j_{\nu,m} j_{\nu,k} / j_{\nu,M}) / J_{\nu+1}(j_{\nu,k})^2) |
||
+ | \) |
||
− | $ |
||
1993. http://www.sciencedirect.com/science/article/pii/0898122193900816 |
1993. http://www.sciencedirect.com/science/article/pii/0898122193900816 |
Revision as of 18:26, 30 July 2019
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. [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]
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.
References
- ↑ http://www.sciencedirect.com/science/article/pii/S0377042706006236 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.
- ↑ http://www.math.tuwien.ac.at/~ewa/PDF_Files/Hankel_Transf_Eigenfunctions_Amodioetal P. Amodio, T. Levitina, G. Settanni, and E. B. Weinmu ̈ller. On the Calculation of the Finite Hankel Transform Eigenfunctions. November 29, 2011
- ↑ http://arxiv.org/abs/1407.3013 Guiding of Light with Pinholes. Makoto Morinaga. (Submitted on 11 Jul 2014)
- ↑ http://link.springer.com/article/10.1007/s10043-015-0045-1#/page-1 Makoto Morinaga. Wave propagation through a set of slits. Optical Review, February 2015, Volume 22, Issue 1, pp 33-38. 26 February 2015.
http://en.wikipedia.org/wiki/Hankel_transform
1985. http://www.fh.huji.ac.il/~ronnie/Papers/k31.pdf 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. http://dsp-book.narod.ru/HFTSP/8579ch17.pdf 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.
http://www.network-theory.co.uk/docs/gslref/DiscreteHankelTransformDefinition.html 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. http://www.sciencedirect.com/science/article/pii/0898122193900816 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. https://www.osapublishing.org/josaa/abstract.cfm?uri=josaa-12-8-1812 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. http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=845927&url=http%3A%2F%2Fieeexplore.ieee.org%2Fiel5%2F78%2F18343%2F00845927.pdf%3Farnumber%3D845927 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. http://www.arl.army.mil/arlreports/2001/ARL-TR-2492.pdf Timothy M. Pritchett. Fast Hankel Transform Algorithms for Optical Beam Propagation. ARL-TR-2492 December 2001.
2004. http://www.acms.arizona.edu/FemtoTheory/MK_personal/opti547/literature/QD-Hankel.pdf 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. http://marineemlab.ucsd.edu/~kkey/pubs/Geophysics%202012%20Key.pdf 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.