We describe a fast algorithm for computing discrete Hankel transforms of moderate orders from $n$ nonuniform points to $m$ nonuniform frequencies in $O((m+n)\log\min(n,m))$ operations. Our approach combines local and asymptotic Bessel function expansions with nonuniform fast Fourier transforms. The order of each expansion is adjusted automatically according to error analysis to obtain any desired precision $\varepsilon$. Several numerical examples are provided which demonstrate the speed and accuracy of the algorithm in multiple regimes and applications.
翻译:我们提出一种快速算法,用于计算中等阶数的离散汉克尔变换,该算法可在$O((m+n)\log\min(n,m))$次运算内,将$n$个非均匀点变换至$m$个非均匀频率。我们的方法将局部与渐近贝塞尔函数展开式与非均匀快速傅里叶变换相结合。每个展开式的阶数根据误差分析自动调整,以获得任意期望精度$\varepsilon$。文中提供了若干数值算例,展示了该算法在不同场景和应用中的计算速度与精度。