Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Hankel transform
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Numerical evaluation == A simple and efficient approach to the numerical evaluation of the Hankel transform is based on the observation that it can be cast in the form of a [[convolution]] by a logarithmic change of variables<ref>{{cite journal |last=Siegman |first=A.E. |date=1977-07-01 |title=Quasi fast Hankel transform |journal=Optics Letters |volume=1 |issue=1 |pages=13 |doi=10.1364/ol.1.000013 |pmid=19680315 |bibcode=1977OptL....1...13S |issn=0146-9592}}</ref> <math display="block">r = r_0 e^{-\rho}, \quad k = k_0 \, e^{\kappa}.</math> In these new variables, the Hankel transform reads <math display="block">\tilde F_\nu(\kappa) = \int_{-\infty}^\infty \tilde f(\rho) \tilde J_\nu(\kappa - \rho) \,\mathrm{d}\rho,</math> where <math display="block">\tilde f(\rho) = \left(r_0 \, e^{-\rho} \right)^{1-n} \, f(r_0 e^{-\rho}),</math> <math display="block">\tilde F_\nu(\kappa) = \left(k_0 \, e^{\kappa} \right)^{1+n} \, F_\nu(k_0 e^\kappa),</math> <math display="block">\tilde J_\nu(\kappa-\rho) = \left(k_0 \, r_0 \, e^{\kappa-\rho} \right)^{1+n} \, J_\nu(k_0 r_0 e^{\kappa-\rho}).</math> Now the integral can be calculated numerically with <math display="inline">O(N \log N)</math> [[Computational complexity|complexity]] using [[fast Fourier transform]]. The algorithm can be further simplified by using a known analytical expression for the Fourier transform of <math>\tilde J_\nu</math>:<ref>{{cite journal |last=Talman |first=James D. |date=October 1978 |title=Numerical Fourier and Bessel transforms in logarithmic variables |journal=Journal of Computational Physics |volume=29 |issue=1 |pages=35β48 |doi=10.1016/0021-9991(78)90107-9 |bibcode=1978JCoPh..29...35T |issn=0021-9991}}</ref> <math display="block"> \int_{-\infty}^{+\infty} \tilde J_\nu(x) e^{-i q x} \,\mathrm{d}x = \frac{\Gamma\left(\frac{\nu + 1 + n - iq}{2} \right)}{\Gamma\left(\frac{\nu + 1 - n + iq}{2}\right)} \, 2^{n - iq}e^{iq \ln(k_0 r_0)}.</math> The optimal choice of parameters <math>r_0, k_0, n</math> depends on the properties of <math>f(r),</math> in particular its asymptotic behavior at <math>r \to 0</math> and <math>r \to \infty.</math> This algorithm is known as the "quasi-fast Hankel transform", or simply "fast Hankel transform". Since it is based on [[fast Fourier transform]] in logarithmic variables, <math>f(r)</math> has to be defined on a logarithmic grid. For functions defined on a uniform grid, a number of other algorithms exist, including straightforward [[Numerical integration|quadrature]], methods based on the [[projection-slice theorem]], and methods using the [[Bessel function#Asymptotic forms|asymptotic expansion]] of Bessel functions.<ref>{{Cite journal |last1=Cree |first1=M. J. |last2=Bones |first2=P. J. |date=July 1993 |title=Algorithms to numerically evaluate the Hankel transform |journal=Computers & Mathematics with Applications |volume=26 |issue=1 |pages=1β12 |doi=10.1016/0898-1221(93)90081-6 |doi-access=free |issn=0898-1221}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)