Table of Contents
Fetching ...

Fast Evaluation of Derivatives of Green's Functions Using Recurrences

Hirish Chandrasekaran, Andreas Kloeckner

Abstract

High-order derivatives of Green's functions are a key ingredient in Taylor-based fast multipole methods, Barnes-Hut $n$-body algorithms, and quadrature by expansion (QBX). In these settings, derivatives underpin either the formation, evaluation, and/or translation of Taylor expansions. In this article, we provide hybrid symbolic-numerical procedures that generate recurrences to attain an $O(n)$ cost for the the computation of $n$ derivatives (i.e. $O(1)$ per derivative) for arbitrary radially symmetric Green's functions. These procedures are general--only requiring knowledge of the PDE that the Green's function solves. We show that the algorithm has controlled, theoretically-understood error. We apply these methods to the method of quadrature by expansion, a method for the evaluation of singular layer potentials, which requires higher-order derivatives of Green's functions. In doing so, we contribute a new rotation-based method for target-specific QBX evaluation in the Cartesian setting that attains dramatically lower cost than existing symbolic approaches. Numerical experiments support our claims of accuracy and cost.

Fast Evaluation of Derivatives of Green's Functions Using Recurrences

Abstract

High-order derivatives of Green's functions are a key ingredient in Taylor-based fast multipole methods, Barnes-Hut -body algorithms, and quadrature by expansion (QBX). In these settings, derivatives underpin either the formation, evaluation, and/or translation of Taylor expansions. In this article, we provide hybrid symbolic-numerical procedures that generate recurrences to attain an cost for the the computation of derivatives (i.e. per derivative) for arbitrary radially symmetric Green's functions. These procedures are general--only requiring knowledge of the PDE that the Green's function solves. We show that the algorithm has controlled, theoretically-understood error. We apply these methods to the method of quadrature by expansion, a method for the evaluation of singular layer potentials, which requires higher-order derivatives of Green's functions. In doing so, we contribute a new rotation-based method for target-specific QBX evaluation in the Cartesian setting that attains dramatically lower cost than existing symbolic approaches. Numerical experiments support our claims of accuracy and cost.

Paper Structure

This paper contains 23 sections, 2 theorems, 105 equations, 13 figures, 1 table, 1 algorithm.

Key Result

Lemma 1

Suppose $l, m \in {\mathbb N}$, $m \leq l$. If $\pi \in P_{l,m}$, then where $e_{\pi,l}(\boldsymbol{x}) \in {\mathbb C}[x_1, \dots, x_d]$.

Figures (13)

  • Figure 1: Directional derivatives taken at three points along $\hat{v}_1, \hat{v}_2, \hat{v}_3$ are identical due to radial symmetry of $G(|\boldsymbol{x}|)$.
  • Figure 2: The shaded region is where the large-$|x_1|$ recurrence is numerically stable. Since $G(|\boldsymbol{x}|)$ is an even function along $\hat{x}_1$, the odd-even derivatives fluctuate in magnitude near $x_1 = 0$.
  • Figure 3: The relative error in evaluating the 9th derivative of the Green's function for the Laplace PDE in 2D using recurrences ($u_{recur}$) versus using the symbolic calculator SymPy ($u_{sympy}$) 10.7717/peerj-cs.103 for different evaluation points. The large-$|x_1|$/small-$|x_1|$ recurrence alternates use of the large-$|x_1|$ and small-$|x_1|$ recurrence above/below the line $x_2 = \xi x_1$ for $\xi =10$.
  • Figure 4: The relative error in evaluating the 8th derivative of the Green's function for the Helmholtz PDE in 2D using recurrences ($u_{recur}$) versus using the symbolic calculator SymPy ($u_{sympy}$) 10.7717/peerj-cs.103 for different evaluation points. The large-$|x_1|$/small-$|x_1|$ recurrence alternates use of the large-$|x_1|$ and small-$|x_1|$ recurrence above/below the line $x_2 = \xi x_1$ for $\xi = 10$.
  • Figure 5: The relative error in evaluating the 8th derivative of the Green's function for the Biharmonic PDE in 2D using recurrences ($u_{recur}$) versus using the symbolic calculator SymPy ($u_{sympy}$) 10.7717/peerj-cs.103 for different evaluation points. The large-$|x_1|$/small-$|x_1|$ recurrence alternates use of the large-$|x_1|$ and small-$|x_1|$ recurrence above/below the line $x_2= \xi x_1$ for $\xi = 10$.
  • ...and 8 more figures

Theorems & Definitions (4)

  • Lemma 1
  • proof
  • Theorem 1
  • proof