Table of Contents
Fetching ...

A Nonuniform Fast Hankel Transform

Paul G. Beckman, Michael O'Neil

Abstract

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.

A Nonuniform Fast Hankel Transform

Abstract

We describe a fast algorithm for computing discrete Hankel transforms of moderate orders from nonuniform points to nonuniform frequencies in 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 . Several numerical examples are provided which demonstrate the speed and accuracy of the algorithm in multiple regimes and applications.

Paper Structure

This paper contains 17 sections, 3 theorems, 38 equations, 7 figures.

Key Result

Lemma 3.1

\newlabellem:wimp0 Truncating the Wimp expansion after $L$ terms gives for all $\omega \in [0, \Omega], r \in [0, R]$, where

Figures (7)

  • Figure 1: Bessel function $J_0(z)$ and pointwise relative error in approximating $J_0(z)$ using 31-term local and 4-term asymptotic expansions. Dotted vertical line shows crossover point where both expansions are accurate to $\varepsilon = 10^{-12}$.
  • Figure 1: Scaling with $n$, $m$, and $p$ respectively, with the other variables held constant.
  • Figure 2: Splitting of Hankel transform matrix $\bm{\mathsf{A}}$ along the curve $\omega r = z$ into local and asymptotic regions. Adaptive subdivision of $\bm{\mathsf{A}}$ into corresponding local (red), asymptotic (blue), and mixed (gray) sub-blocks at various levels.
  • Figure 2: Scaling with $n$ for $p = \mathcal{O}(n)$ test cases. In the first plot, we fix $\nu = 0, \varepsilon = 10^{-8}$ and time the NUFHT for both the Fourier-Bessel and exponentially distributed cases. In the second and third plots, we consider the Fourier-Bessel series only, and fix one of the parameters $\nu = 0$ and $\varepsilon = 10^{-8}$ while varying the other. The timings of direct summation and Fourier-Bessel series from the first plot are repeated in the other two plots for reference.
  • Figure 3: Relative 2-norm error $\left\Vert\bm{\mathsf{g}} - \bm{\mathsf{\tilde{g}}}\right\Vert_{2} / \left\Vert\bm{\mathsf{g}}\right\Vert_{2}$ as a function of tolerance $\varepsilon$ for a NUFHT of order $\nu=0$ for various $n$.
  • ...and 2 more figures

Theorems & Definitions (6)

  • Lemma 3.1
  • Proof 1
  • Theorem 4.1
  • Proof 2
  • Corollary 4.2
  • Remark 4.3