A high-order accurate accelerated direct solver for acoustic scattering from surfaces

We describe an accelerated direct solver for the integral equations which model acoustic scattering from curved surfaces. Surfaces are specified via a collection of smooth parameterizations given on triangles, a setting which generalizes the typical one of triangulated surfaces, and the integral equations are discretized via a high-order Nystrom method. This allows for rapid convergence in cases in which high-order surface information is available. The high-order discretization technique is coupled with a direct solver based on the recursive construction of scattering matrices. The result is a solver which often attains $O(N^{1.5})$ complexity in the number of discretization nodes $N$ and which is resistant to many of the pathologies which stymie iterative solvers in the numerical simulation of scattering. The performance of the algorithm is illustrated with numerical experiments which involve the simulation of scattering from a variety of domains, including one consisting of a collection of 1000 ellipsoids with randomly oriented semiaxes arranged in a grid, and a domain whose boundary has 12 curved edges and 8 corner points.


Introduction
The manuscript describes techniques based on boundary integral equation formulations for numerically solving certain linear elliptic boundary value problems associated with acoustic scattering in three dimensions. There are three principal components to techniques of this type: 1. Reformulation. The boundary value problem is first reformulated as a system of integral equations, preferably involving operators which are well-conditioned when considered on spaces of integrable functions.
2. Discretization. The resulting integral operators are then discretized. High-order discretization methods are to be preferred to low-order schemes and the geometry of the domain under consideration is the principal consideration in producing high-order convergent approaches.
3. Accelerated Solver. The large dense system of linear algebraic equations produced through discretization must be solved. Accelerated solvers which exploit the mathematical properties of the underlying physical problems are required to solve most problems of interest.
For boundary value problems given on two-dimensional domains -which result in integral operators on planar curves -satisfactory approaches to each of these three tasks have been described in the literature. Uniquely solvable integral equation formulations of boundary value problems for Laplace's equation and the Helmholtz equation are available [4,30,1,19,14]; many mechanisms for the high-order discretization of singular integral operators on planar curves are known [14,25] and even operators given on planar curves with corner singularities can be discretized efficiency and to near machine precision accuracy [6,5,10,23,22]; finally, fast direct solvers which often have run times which are asymptotically optimal in the number of discretization nodes N have been constructed [27,15,33,3,16,12,20,24].
For three-dimensional domains, the state of affairs is much less satisfactory. In this case, the integral operators of interest are given on curved surfaces which greatly complicates problems (2) and (3) above.
Problem (2) requires the evaluation of large numbers of singular integrals given on curved regions. Standard mechanisms for addressing this problem, like the Duffy transform followed by Gaussian quadrature, are limited in their applicability (see [7] for a discussion). Most fast solvers (designed to address problem (3)) are based on iterative methods and can fare poorly when the surface under consideration exhibits complicated geometry. For example, a geometry consisting of a 2 × 2 × 2 grid of ellipsoids (1536 discretization points per ellipsoid) bounded by a box two wavelengths in size takes over 1000 GMRES iterations to get the residual below 10 −3 (see Figure 6 and Remark 6.1). Moreover, iterative methods are unable to efficiently handle problems with multiple right hand sides that arise frequently in design problems.
In this manuscript, we describe our contributions towards providing a remedy to problems (2) and (3). We consider scattering problems that arise in applications such as sonar and radar where the goal is to find the scattered field at a set of locations Γ out generated when an incident wave sent from locations Γ in hit an object or collections of objects (whose surface we denote Γ), cf. Fig. 1(a). The locations of the source and target points are known and typically given by the user. In this context, we present an efficient high-order accurate method for constructing a scattering matrix S which maps the incident field generated by the given sources on Γ in to a set of induced charges on Γ that generate the scattered field on Γ out . A crucial component to constructing S is solving a boundary integral equation defined on Γ. A recently developed high order accurate discretization technique for integral equations on surfaces [7,8] is used. This discretization has proven to be effective for Laplace and low frequency scattering problems. Since many scattering problems of interest involve higher frequencies and complicated geometries, a large number of discretization points are typically required to achieve high accuracy, even for high-order methods. In consequence, it would be infeasible to solve the resulting linear systems using dense linear algebra (e.g., Gaussian elimination). As a robust alternative to the commonly used iterative solvers (whose convergence problems in the present context was previously discussed), we propose the use of a direct solver that exploits the underlying structure of the matrices of interest to construct an approximation to the scattering matrix S. Direct solvers have several benefits over iterative solvers: (i) the computational cost does not depend on the spectral properties of the system, (ii) each additional incoming field can be processed quickly, (iii) the amount of memory required to store the scattering matrix scales linearly with the number of discretization points.
1.1. Model problems. The solution technique presented is applicable to many boundary integral equations that arise in mathematical physics but we limit our discussion to the boundary value problems presented in this section.
Let Ω denote a scattering body, or a union of scattering bodies; Figures 6,7,8,9, and 11 of Section 6 illustrate some specific domains of interest. Let Γ = ∂Ω denote the surface of the body (or bodies). We are interested in finding the scattered field u off Ω for a given incident wave u in . Specifically this involves solving either an exterior Dirichlet problem for sound-soft scatterers where g = −u in , or an exterior Neumann problem for sound-hard scatterers where η is the outwards point unit normal vector to Γ, and where g = −∂ η u in .
1.2. Outline. The paper proceeds by introducing the integral formulations for each choice of boundary condition in Section 2. Section 3 presents a high order accurate technique for discretizing the integral equations. Section 4 formally defines a scattering matrix and describes a method for constructing an approximation of the scattering matrix. Section 5 describes an accelerated technique for constructing the scattering matrix that often has asymptotic cost of O(N 3/2 ) (providing the scattering body and the wave-length of the radiating field are kept constant as N increases). Section 6 presents the results of several numerical experiments which demonstrate the properties of the proposed solver.

Integral equation formulations of linear elliptic boundary value problems
The reformulation of the boundary value problems in Section 1.1 as integral equations involves the classical single and double layer operators associated with the Helmholtz equation at wavenumber κ and where η p denotes the outward-pointing unit normal to the surface Γ at the point p.
The reformulation of (DBVP) and (NBVP) is not entirely straightforward because of the possibility of spurious resonances. That is, for certain values of the wavenumber κ, the naïve integral equation formulations of (DBVP) and (NBVP) lead to operators with nontrivial null-spaces, even though the original boundary value problems are well-posed. The wave-numbers κ for which this occurs are called spurious resonances. Complications arise due to the existence of multiple solutions at a resonance. An additional (and perhaps more serious) problem is that for values of κ close to resonant values, the integral operators (2.1) become ill-conditioned. of the solution of (DBVP) leads to the second kind integral equation As is well known, this integral equation is not be uniquely solvable in the event that the eigenproblem ∆u + κ 2 u = 0 in Ω ∂u ∂η = 0 on Γ admits a nontrivial solution. A uniquely solvable integral equation can be obtained by choosing to represent the solution as see, for instance, [28,14]. This leads to the integral equation which is sometimes referred to as the Combined Field Integral Equation (CFIE). We make use of the CFIE to solve the problem (DBVP) in this article.
2.2. The boundary integral formulation for Neumann boundary values problems. The single layer representation u = S κ σ.
of the solution of (NBVP) leads to the second kind integral equation Once again the equation (2.4) is not necessarily uniquely solvable -when the eigenproblem has nontrivial solutions (that is, when κ is a resonant wavenumber), the operator appearing on the righthand side of (2.4) is not invertible. Since the focus of this article is on the discretization of integral operators and the rapid inversion of the resulting matrices, we simply avoid wavenumbers κ for which spurious resonances exist. Appendix A presents a robust integral equation formulation which is suitable for use by the solver of this paper. We forgo its use here in order to reduce the complexity of the presentation.

A Nyström method for the discretization of integral equations on surfaces
In this work, we use a modified Nyström method for the discretization of the integral operators (2.1) of the proceeding section. Our approach differs from standard Nyström methods in two important ways: (1) It captures the L 2 action of an operator rather than its pointwise behavior. Among other advantages, this means that the approach results in well-conditioned operators in the case of Lipschitz domains. (2) A highly accurate mechanism for evaluating the singular integrals which arise in Nyström discretization whose cost is largely independent of the geometry of the surface is employed. This is in contrast to standard methods for the evaluation of the singular integrals arising from the Nyström discretization of integral operators on surfaces which involve constants which depend on the geometry of the domain. This manuscript gives a cursory account of the method. A detailed description can be found in [7] and a discussion of the advantages of L 2 discretization over standard Nyström and collocation methods can be found in [6].
3.1. Decompositions and discretization quadratures. We define a decomposition D of a surface Γ ⊂ R 3 to be a finite sequence of smooth mappings given on the simplex with non-vanishing Jacobian determinants such that the sets form a disjoint union of Γ. We call a quadrature rule {x 1 , . . . , x l , w 1 , . . . , w l } on ∆ 1 with positive weights which integrates all elements of the space P N of polynomials of degree less than or equal to 2N on the simplex ∆ 1 a discretization quadrature. Such a rule is called Gaussian if the length l of the rule is equal to (N + 1) · (N + 2)/2. That is, a Gaussian rule is one whose length is equal to the dimension of the space of polynomials of degree less than or equal to N but which integrates polynomials of degree less than or equal to 2N . For the most part, Gaussian quadratures on triangles are not available. In the experiments of this paper, we used quadrature rules constructed via a generalization of the procedure of [9]. Table 1 lists the properties of the discretization quadrature rules used in this paper and compare their lengths to the size of a true Gaussian quadrature. and a discretization quadrature {x 1 , . . . , x l , w 1 , . . . , w l } a scheme for the discretization of certain integral operators. We begin by letting S be the subspace of L 2 (Γ) consisting of all functions f which are pointwise defined on Γ and such that for each j = 1, . . . , m the function is a polynomial of order N on ∆ 1 . Denote by P be the projection of L 2 (Γ) onto the subspace S and let Φ : S → C ml be a mapping which takes f ∈ S to a vector with entries The ordering of the entries of Φ(f ) is irrelevant. Suppose that T : with K a linear combination of the kernels listed in (2.1). Let A denote the ml × ml matrix which commutes the discretization of the operator T induced by the specified decomposition and discretization quadrature as specified in the diagram (3.2).
3.3. Quadrature. Forming the matrix A which appears the diagram (3.2) is an exercise in numerical quadrature. Let x be a discretization node on ∆ and let w be the corresponding weight. The l entries of the matrix A in (3.2) associated with the mapping ρ j and the point ρ i (x) must map the scaled values of the function f at the images of the discretization quadrature nodes under ρ j to the value of the integral The manner in which this vector is formed depends on the location of the point ρ i (x) vis-à-vis the patch ρ j (∆ 1 ). Let B denote the ball of minimum radius containing Γ and 2B denote the ball with the same center as B but with twice the radius. Then we say that a point x is well-separated from a surface Γ if x is outside of 2B, and we say that x is near Γ if x is inside of the ball 2B but not on the surface Γ.
3.3.1. Smooth regime. When the point ρ i (x) is well-separated from ρ j (∆ 1 ) the kernel K is smooth and the discretization quadrature can be used to evaluate the integral (3.4). In this case, we take the l entries of the matrix A to be 3.3.2. Near regime. When ρ i (x) is near ρ j (∆ 1 ), formula (3.5) may not achieve sufficient accuracy. Thus, we adaptively form a quadrature with nodes and weights u 1 , . . . , u m , r 1 , . . . , r m sufficient to evaluate the nearly singular integrals which arise and apply an interpolation matrix I which takes the scaled values (3.3) of the function f at the nodes of the discretization quadrature to its scaled values at the nodes of the adaptive quadrature. The vector of entries of A is given by the product of the vector of values of the kernel evaluated at the adaptive quadrature nodes with the matrix I. As in the scheme of [7], the adaptive quadrature is formed in such a way that the matrix I has special structureit is a product of block diagonal matrices -which allows it to be applied efficiently.
3.3.3. Singular regime. When the target node lies on the surface ρ j (∆ 1 ), the integral (3.4) is singular and its evaluation becomes quite difficult. The typical approach to the evaluation of integrals of this form is to apply the Duffy transform or polar coordinate transform in order to remove the singularity of the kernel. Once this has been done, quadratures for smooth functions (for instance, product Legendre quadratures) are typically applied. While the such schemes are exponentially convergent, they can be extremely inefficient. The difficulty is that the functions resulting from the change of variables can have poles close to the integration domain. For instance, if a polar coordinate transform is applied, the singular integrals which must be evaluated take the form where the function R(θ) gives a parameterization of the integration domain ∆ 1 in polar coordinates and each q j (θ) is a quotient form r j (θ) l(θ) α , where α is a positive constant dependent on the order j and the kernel under consideration, r j (θ) is a trigonometric polynomial of finite order, and l(θ) is a function which depends on the parameterization ρ j . More specifically, if then the function l(θ) is given by Obviously, the function l(θ) can have zeros close to the real axis. The approach used in this paper -and described in [7] -calls for first applying a change of variables in order to ensure that the mapping ρ j is conformal at the target node. Then the function l(θ) is a constant which does not depend on θ and the integrand simplifies considerably. The unfortunate side effect of applying this change of variables is that the integration domain is no longer the standard simplex ∆ 1 but rather an arbitrary triangle. Now the integral which must be evaluated takes the form with theq j trigonometric polynomials of finite order. The functionR(θ) can have poles close to the integration domain, however. We combat this problem by precomputing a collection of quadrature rules designed to integrate smooth functions on arbitrary triangles and apply them to evaluate the integrals (3.7). The performance of this approach is described in [7]; in one example of that paper, the standard approach of applying a change of variables followed by Gauss-Legendre quadrature required more than 100, 000 quadrature nodes to accurately evaluate the singular integrals arising from a boundary value problem while the precomputed rules used here and in that paper required less than 1, 000 nodes.

Scattering matrices as a numerical tool
This section describes the concept of a scattering matrix, first from a physical perspective, and then the corresponding linear algebraic interpretation. It also informally describes how to build approximate scattering matrices computationally. A rigorous description is given in Section 5.
4.1. The scattering operator. We consider a "sound-soft" scattering formulation illustrated in Figure  1. We are given a charge distribution s in on a contour Γ in (the radiation "source") that generates an incoming field g on the scatterer Γ. The incoming field on the scatterer induces an outgoing field u that satisfies (DBVP). Our objective is to computationally construct u out , the restriction of the outgoing field to the specified contour Γ out , which represents the "antenna." To solve (DBVP), we use the combined field formulation (2.2). In other words, we represent the outgoing field via a distribution σ of "induced sources" on the contour Γ. The map we seek to evaluate can be expressed mathematically as and T out : Observe that since T Γ is an invertible second kind integral operator, its inverse has singular values bounded away from zero. Given a finite precision ε > 0, we say that an operator S : L 2 (Γ) → L 2 (Γ) is a "scattering operator" for Γ to within precision ε when It turns out that the operators T in and T out have rapidly decaying singular values. Let P (k) in denote the orthogonal projection onto the set of k leading left singular vectors of T in , and let P (k) out denote the orthogonal projection onto the set of k leading right singular vectors of T out . Then and . It follows that if we define an approximate scattering operator S via then the approximation error in T in converges to zero very rapidly as k increases. The typical geometry considered with Γ in = Γ out . The scattering matrix generated by this geometry is the "complete" scattering matrix in the sense that any incoming field can be handled (as long as the radiation source is not inside Γ in ), and the full radiated field can be obtained.

4.2.
Definition of a discrete scattering matrix. The continuum scattering problem described in Section 4.1 has a direct linear algebraic analog for the discretized equations. Forming the Nyström discretization of the three operators in (4.1), we obtain the map Suppose that A is an N × N matrix, and let k 1 denote a bound on the ε-ranks of A out and A in . Then form matricesÛ 1 andV 1 (the reason for the subscripts will become clear shortly) of size N × k 1 such that where a matrix with the superscript † denotes the pseudo-inverse of the matrix. In other words, the columns ofÛ 1 span the column space of A in and the columns ofV 1 span the row space of A out . Then the map (4.4) can be approximated as The k 1 × k 1 matrix S 1 is the discrete analog of the continuum scattering matrix S for Γ defined by (4.3).

4.3.
Hierarchical construction of discrete scattering matrices. Observe that direct evaluation of the definition (4.6) of S 1 via, e.g., Gaussian elimination, would be very costly since A is dense, and N could potentially be large (much larger than k 1 ). To avoid this expense, we will build S 1 via an accelerated hierarchical procedure. As a first step, we let the entire domain Γ = Γ 1 denote the root of the tree, and split Γ 1 into two disjoint halves, cf. Figure 2(b), Let n 2 and n 3 denote the number of collocation points in Γ 2 and Γ 3 , respectively. The idea is now to form scattering matrices S 2 and S 3 for the two halves, and then form S 1 by "merging" these smaller scattering matrices. To formalize, split the matrix A into blocks to conform with the partitioning (4.7), The off-diagonal blocks A 2,3 and A 3,2 have very rapidly decaying singular values, which means that they can be factored The matrices {Û 2 ,Û 3 } and {V 2 ,V 3 } are additionally assumed to span the column spaces of A in and A * out , in the sense that there exist "small" matrices U 1 and V 1 such that (4.9), and (4.10) into (4.6), we find Using the Woodbury formula for matrix inversion (see Lemma 5.1), it can be shown that where S 2 and S 3 are the scattering matrices for Γ 2 and Γ 3 , respectively. The matrices S 2 and S 3 are given by the following formulas Combining (4.11) and (4.12), we obtain the formula The upside here is that in order to evaluate (4.14), we only need to invert a matrix of size (k 2 +k 3 )×(k 2 +k 3 ), whereas (4.6) requires inversion of a matrix of size N × N . The downside is that we are still left with the task of inverting A 2,2 and A 3,3 to evaluate S 2 and S 3 via (4.13). Now, to reduce the cost of constructing S 2 and S 3 , we further sub-divide as shown in Figure 2(c). Then it can be shown (see Lemma 5.1) that S 2 and S 3 are given by the formulas The idea is now to continue to recursively split all patches until we get to a point where each patch holds sufficiently few discretization points that its scattering matrix can inexpensively be constructed via, e.g., Gaussian elimination.

The hierarchical construction of a scattering matrix
Section 4 defined the concept of a scattering matrix, and informally outlined a procedure for how to build approximate scattering matrices via a hierarchical procedure. This section provides a more rigorous description, which requires the introduction of some notational machinery. The key concept is that the matrix A corresponding to the discretized operator T Γ (defined by (4.2)) can be represented efficiently in a data sparse format that we call Hierarchically Block Separable (HBS), and is closely related to the Hierarchically Semi-Separable (HSS) format [32,29,31]. Our presentation is in principle self-contained but assumes some familiarity with hierarchically rank-structured matrix formats such as HSS/HBS (or the related H 2 -matrix format [2,3]).
Remark 5.1. The method presented in Sections 4.2, 4.3, and this section use the same rank for the incoming and outgoing factorizations purely for simplicity of presentation. In practice this is not required.

Problem formulation. Let
A denote the N ×N dense matrix obtained upon Nyström discretization (see Section 3) of the operator T Γ as defined by (4.2). Moreover, suppose that we are given a positive tolerance ε, and two tall thin matricesÛ 1 andV 1 satisfying the following: U 1 : A well-conditioned matrix of size N × k 1 whose columns span (to within precision ε) the column space of the matrix A in that maps the given charge distribution on the "radiation source" Γ in to the collocation points on Γ. In other words, any incoming field hitting Γ can be expressed as a linear combination of the columns ofÛ 1 . V 1 : A well-conditioned matrix of size N × k 1 whose columns span (to within precision ε) the row space of the matrix A out that maps the induced charges on the collocation points on Γ to the collocation points on the "antenna" Γ out . In other words, any field generated on Γ out by induced charges on Γ can be replicated by a charge distribution in the span ofV 1 .
Our objective is then to construct a highly accurate approximation to the scattering matrix Hierarchical tree. The hierarchical construction of the scattering matrix S 1 is based on a binary tree structure of patches on the scattering surface Γ. We let the full domain Γ form the root of the tree, and give it the index 1, Γ 1 = Γ. We next split the root into two roughly equi-sized patches Γ 2 and Γ 3 so that Γ 1 = Γ 2 ∪ Γ 3 . The full tree is then formed by continuing to subdivide any patch that holds more than some preset fixed number of collocation points. A leaf is a node in the tree corresponding to a patch that never got split. For a non-leaf node τ , its children are the two nodes α and β such that Γ τ = Γ α ∪ Γ β , and τ is then the parent of α and β. Two boxes with the same parent are called siblings. Let I = I 1 = [1, 2, 3, . . . , N ] denote the full list of indices for the collocation points on Γ, and let for any node τ the index vector I τ ⊆ I mark the set of collocation nodes inside Γ τ . Let n τ denote the number of nodes in I τ .
Note that every basis matrix U τ and V τ is small. The point is that the matrix A is fully specified by giving the following for every node τ : (i) the two small matrices U τ , and V τ , (ii) if τ is a leaf, the diagonal block A(I τ , I τ ), and (iii) if τ is a parent node with children {α, β}, the sibling interaction matricesÃ α,β ,Ã β,α .
Particular attention should be paid to the fact that the long basis matricesÛ τ andV τ are never formedthese were introduced merely to facilitate the derivation of the HBS representation. Table 4 summarizes the factors required, and Algorithm I describes how for any vector σ the matrix-vector product u = Aσ can be computed if the HBS factors of A are given.
Remark 5.2 (Meaning of basis matricesÛ τ ,V τ , U τ , V τ ). Let us describe the heuristic meaning of the "tall thin" basis matrixÛ τ . Conditions (5.2) and (5.3) together imply that the columns ofÛ τ span the column space of the off-diagonal block A(I τ , I c τ ), as well as the columns of A in (I τ , :). We can write the restriction of the local equilibrium equation on Γ τ as Exploiting that the columns ofÛ τ span the column spaces of both matrices on the right hand side of (5.5), we can rewrite the equation as Name: Size: Function: For each leaf A(I τ , I τ ) n τ × n τ Diagonal block. node τ : U τ n τ × k τ Basis for the columns in A(I τ , I c τ ). V τ n τ × k τ Basis for the rows in A(I c τ , I τ ). For each parentÃ α,β k α × k β Sibling interaction matrix. node τ withÃ β,α k β × k α Sibling interaction matrix. children {α, β}: U τ (k α + k β ) × k τ Basis for the (reduced) incoming fields on τ . V τ (k α + k β ) × k τ Basis for the (reduced) outgoing fields from τ . It is assumed that the nodes are ordered so that if τ is the parent of σ, then τ < σ.
, where α and β denote the children of τ .
end if end for where α and β denote the children of τ .
else u(I τ ) = U τũτ + A(I τ , I τ ) σ(I τ ). end if end for whereũ τ =Û † τ A in (I τ , : ) s in is an efficient representation of the local incoming field, and whereṽ τ = is an efficient representation of the field on Γ τ caused by charges on Γ\Γ τ . The basis matrixV τ analogously provides an efficient way to represent the outgoing fields on Γ τ . The "small" matrices U τ and V τ then provide compact representations ofÛ τ andV τ . Observe for instance that These concepts are described in further detail in Appendix B. Remark 5.3. (Exact versus numerical rank) In practical computations, the off-diagonal blocks of discretized integral operators only have low numerical (as opposed to exact) rank. However, in the present context, the singular values tend to decay exponentially fast, which means that the truncation error can often be rendered close to machine precision. We do not in this manuscript provide a rigorous error analysis, but merely observe that across a broad range of numerical experiments, we did not see any error aggregation; instead, the local truncation errors closely matched the global error.

5.4.
Hierarchical construction of a scattering matrix. For any node τ , define its associated scattering matrix via The following lemma states that the scattering matrix for a parent node τ with children α and β can be formed inexpensively from the scattering matrices S α and S β , along with the sibling interaction matrices A α,β andÃ β,α . LEMMA 5.1. Let τ be a node with children α and β. Then Lemma 5.1 immediately leads to an O(N 3/2 ) algorithm for computing the scattering matrix S 1 . A pseudo-code description is given as Algorithm II.
Proof of Lemma 5.1: Using formula (5.2) for the factorization of sibling interaction matrices we get where we defined Formula (5.9) shows that A(I τ , I τ ) can be written as a product between a low-rank perturbation to the identity, and a block-diagonal matrix. The Woodbury formula for inversion of a low-rank perturbation of the identity states that (I + EF * ) −1 = I − E(I + F * E) −1 F * . To exploit this formula, we first define Combining (5.7) with (5.11) and inserting the condition on nestedness of the basis matrices (5.3), we get So (5.8) holds.
Algorithm II: Hierarchical computation of scattering matrices where α and β denote the children of τ .
end if end for Remark 5.4 (Extension to a full direct solver). The scattering matrix formulation described in this section can be viewed as an efficient direct solver for the equation Aσ = u for the particular case where the load vector u belongs to the low-dimensional subspace spanned by the columns of the given matrixÛ 1 . A general direct solver for applying A −1 to an arbitrary vector for an HBS matrix A (under some general conditions on invertibility) can be obtained by slight variations to the simplified scheme described here, see Appendix B for details.

Efficient construction of the HBS representation and recursive skeletonization.
In this section, we describe a technique for computing the HBS representation of a discretized boundary integral operator via a procedure described in [26,17], and sometimes referred to as recursive skeletonization [24].

The interpolative decomposition (ID).
The interpolative decomposition (ID) [13] is a low-rank factorization in which a matrix of rank k is expressed by using a selection of k of its columns (rows) as a basis for its column (row) space. To be precise, let X be matrix of size m × n and of rank k. Then it is possible to determine an index vector J colskel ⊆ {1, 2, 3, . . . , n} of length k such that where V is an n × k matrix that contains the k × k unit matrix as a sub-matrix, V(J colskel , : ) = I.
Moreover, no entry of V is of magnitude greater than 1, which implies that V is well-conditioned. We call the index vector J colskel the column skeleton of X.
Computing the optimal ID of a general matrix is hard [18], but if we slightly relax the restriction on the basis matrix V to allow its entries to be bounded by, say, 2 instead of one, then very efficient algorithms are available [13,18,21].

Interpolative decompositions and HBS matrices.
It is highly advantageous to use the ID to factor the off-diagonal blocks in the HBS representation of a matrix. The first step in the construction is to form an extended system matrix For each leaf node τ , identify an ID basis matrix U τ and a subsetĨ in τ ⊂ I τ such that The vectorĨ in τ marks a subset of the collocation points in Γ that we call the skeleton points of τ . These points have the property that all interactions between Γ τ and the rest of the geometry can be done via evaluation through these points. Next let τ be a node whose children {α, β} are leaves. Then we find the skeleton vectorĨ in τ and the basis matrix U τ by simply factoring the matrix B([Ĩ in α ,Ĩ in β ], I c τ ) to form its ID All remaining skeleton sets and basis matrices {U τ } τ are found by simply continuing this process up through the tree. The process for determining the basis matrices {V τ } τ is analogous. For each leaf form the factorization For a parent τ with children {α, β} (whose skeletons are available), factor Once the skeletons {Ĩ in τ ,Ĩ out τ } have been determined for all nodes, the sibling interaction matrices for a sibling pair {α, β} are given simply bỹ The formulas (5.17) are very useful since they make it extremely cheap to form the sibling interaction matrices -they are merely submatrices of the original system matrix! Remark 5.5. It is often convenient to force the incoming and the outgoing skeletons to be identical, For instance, in order to determine a single set of skeleton nodesĨ τ for a leaf τ , we can combine (5.13) and (5.14) to the single factorization Then simply set U τ = V τ .
(a) (b) Figure 5. Illustration of the geometric objects Γ τ , Γ near and Γ proxy used for the Green's representation technique for a two-dimensional (a) and three-dimensional surface (b). Γ τ is given in red, Γ near is given in blue, and Γ proxy is given in black. 5.5.3. The Green's representation technique. The compression technique described in Section 5.5.2 would be prohibitively expensive if executed as stated, since it requires the formation and factorization of very large matrices. For instance, equation (5.13) requires the factorization of a matrix of size n τ ×(N +N in 1− n τ ). It turns out that these computations can be localized by exploiting that the column space of the matrix B(I τ , I c τ ) (which is what we need to span) expresses merely a set of solutions to the homogeneous Helmholtz equation. This means that we can use representation techniques from potential theory to replace all "far-field" interactions by interactions with a small proxy surface Γ proxy that encloses the patch Γ τ that we seek to compress. All discretization points inside on Γ proxy but not in Γ τ are labeled Γ near . Figure 5 illustrates the geometry used in the Green's representation technique for a two-dimensional contour and a three surface that is defined rigorously in Section 6.2. This technique is described in detail in Section 6.2 of [15]. For the experiments in this paper, it is sufficient to let Γ proxy be a sphere with a radius that is twice the radius of the smallest ball containing Γ τ . (In other words, Γ proxy is the surface of the ball "2B" defined in Section 3.3.)

Numerical experiments.
We now present the results of a number of experiments conducted to measure the performance of the approach of this paper. All code was written in Fortran 77 and compiled with the Intel Fortran Compiler version 12.1. The experiments were carried out on a workstation equipped with 12 Intel Xeon processor cores running at 3.47 GHz and 192 GB of RAM. As a point of reference, we note that MATLAB requires approximately 35 seconds to invert a 8192 × 8192 matrix with complex-valued i.i.d. Gaussian entries on this workstation. 6.1. Sound-soft scattering from grids of ellipsoids. The purpose of this first set of experiments was to measure the growth in the running time of the algorithm of Section 4 as the geometry of the scatterer becomes more complicated and more nodes are required to discretize it. To that end we considered the exterior Dirichlet problem (DBVP) on a collection of domains consisting of grids of ellipsoids of various sizes and eccentricities. In each experiment, the ellipsoids were arranged on an n × n × n grid with center points (1.25 + 2.5i, 1.25 + 2.5j, 1.25 + 2.5k), 1 ≤ i, j, k ≤ n. Figure 6. Two views of one of the "grid of ellipsoids" domains of Section 6.1. Domains of this type pose significant challenges for iterative solvers.  Table 2. Results for the experiments of Section 6.1 in the case = 1.0 × 10 −3 .
The axis lengths of the ellipsoids were determined randomly -each axis length was taken to be 0.5 + 0.5η where η is a computer-generated pseudorandom number between 0 and 1. A 4 × 4 × 4 domain of this type is depicted in Figure 6. For each experiment, the wavenumber κ was chosen to be κ = 8π 2.5 × n so that each domain considered was bounded by a box whose sides were 4 wavelengths in size.
Each experiment consisted of forming a scattering matrix for the integral equation (2.3) and using it to solve an instance of the boundary value problem (DBVP). The boundary data for each problem was taken to be the restriction of the function where N is the total number of ellipsoids and the x 1 , . . . , x N are the centers of the ellipsoids, to the boundary of the ellipsoids. Let r and x 0 denote the radius and center of the minimum bounding sphere containing the boundary of the domain, respectively. Then the surface Γ in which specified incoming potentials was the union of the spheres of radius 0.1 centered at the points x 1 , . . . , x N and the sphere of radius 2r centered at x 0 while the surface Γ out specifying outgoing potentials was taken to be the sphere of radius 2r centered at x 0 . The function g(x) is, of course, the unique solution of the boundary value problem and we measured the accuracy of each obtained solution σ of the the integral equation by computing the relative error where Γ is the sphere of radius 2 centered at the point x 0 − (0, 0, −2r − 10). The ellipsoids were parameterized by projection onto the cube [−1, 1] 3 and the faces of the cube were triangulated in order to produce a discretization. Three sets of experiments were performed, each at a different level of desired precision and the ellipsoids were discretized as follows in each case: · For precision = 1.0 × 10 −3 , each cube face comprising the parameterization domain was divided into 8 triangles and a 32 point 6th order quadrature was applied to each triangle. This yields a total of 1536 discretization nodes per ellipsoid.
· For precision = 1.0 × 10 −6 , each cube face was subdivided into 32 triangles and a 32 point 6th order quadrature was applied to each triangle. This resulted in 6144 discretization nodes per ellipsoid.
· For precision = 1.0 × 10 −9 , each cube face was subdivided into 8 triangles and a 112 point 12th order quadrature was applied to each triangle. This results in 5376 discretization nodes per ellipsoid. Tables 2, 3, and 4 present the results of the experiments with = 1.0 × 10 −3 , 1.0 × 10 −6 , 1.0 × 10 −9 , respectively. In each of those tables, N refers to the number of discretization nodes on the surface; N out × N in denotes the dimension of the resulting scattering matrix; T is the time in seconds required to construct the scattering matrix; E is the error (6.1); Ratio refers to the ratio of running times; and Predicted is the ratio of running times one would expect for an algorithm whose cost scales as N 1.5 .  Table 3. Results for the numerical experiments of Section 6.1 in the case = 1.0 × 10 −6 .  Table 4. Results for the numerical experiments of Section 6.1 in the case = 1.0 × 10 −9 .
Remark 6.1. The boundary value problems solved in the experiments of this section present considerable difficulties for iterative solvers. We attempted to compare the running time of the fast solver of this paper with the running time of an iterative solver. However, it took more than 1000 iterations for GMRES residuals to fall below 1.0 × 10 −3 when we attempted to solve the boundary value problem (DBVP) given on the 2 × 2 × 2 grid of ellipsoids with 1536 discretization nodes per ellipsoid via the combined field integral equation. Even with the aid of an extremely efficient multipole code, replicating the experiments of this section with an iterative solver appears to be prohibitively expensive.  Each experiment consisted of constructing a scattering matrix for the integral equation formulation (2.4) of the problem (NBVP) and using that scattering matrix to solve an instance of the boundary value problem. The wavenumber κ was set at 4π/5, which makes the domain approximately 2 × 2 × 0.7 wavelengths in size, and the boundary data was taken to be the normal derivative of the function where x 0 is the point (2, 0, 0). Since x 0 lies inside of the domain Ω, the function g(x) is, of course, the unique solution of (NBVP). The surface Γ in which specified incoming potentials was take to be the union of the sphere of radius 0.1 centered at the point (2, 0, 0) and the sphere of radius 6 centered at (0, 0, 0) while the surface Γ out specifying outgoing potentials was taken to be the sphere of radius 6 centered at (0, 0, 0). The accuracy of each obtained solution σ was measured by computing the relative error where S is the sphere of radius 1 centered at the point (−20, 0, 0). The order of the discretization quadrature was fixed at 8 and the requested precision for the scattering matrix was set to = 1.0 × 10 −7 in each experiment. The number of triangles used to decompose the parameterization domain was varied.  Table 5. The results of the experiments of Section 6.2. Table 5 shows the results. There, N tris is the number of triangles into which the parameterization domain was partitioned; N is the total number of discretization nodes on the boundary Γ; T is the total running time of the algorithm in seconds; E is the relative error (6.3); N out × N in gives the dimensions of the scattering matrix; Ratio is the quotient of the running time at the current level of discretization to the runnning time at the preceeding level of discretization (where it is defined); and Predicted gives the expected ratio of the running times (assuming O(N 1.5 ) asymptotic cost).  These experiments consisted of solving the problem (NBVP) on the domain Ω at a variety of wavenumbers. In each experiment, a scattering matrix for the domain was formed and an instance of the boundary value problem was solved using this scattering matrix. The boundary data was taken to be the derivative of the restriction of the function to Γ with respect to the outward pointing unit normal vector on Γ. The error in the obtained charge distribution was measured by computing where S is the ball of radius 10 centered at the point (−30, −30, −30) and σ is the approximate charge distribution obtained using the scattering matrix. Discretizations of Γ were obtained by triangulating the faces of the cube which constitutes the parameterization domain. An 8th order discretization quadrature with 45 points was applied to each triangle. The number of triangles was increased with wavenumber. In all cases, the desired precision for the scattering matrix was taken to be = 1.0 × 10 −3 . Table 6 reports the number of discretization nodes N on the surface; the relative error E; the number of triangles N tris into which the parameterization domain was divided; the total running time T ; the dimensions N out × N in of the scattering matrix; the wavenumber κ for the problem; and the approximate diameter of the domain in wavelengths.  Table 6. The results of the experiments of Section 6.3.
6.4. Scattering from a deformed cube. In this next set of experiments, we considered the problem (NBVP) on a deformed cube Ω with 12 curved edges and 8 corner points. The domain Ω is pictured in Figure 9.  (4,4,4).
In these experiments, the integral equation (2.4) defined on Γ was discretized by applying a 12th order discretization quadrature with 112 nodes to increasing dense triangulations of the parameterization domain. We arranged for a denser distribution of discretization nodes near the edges and corners of the deformed cube. Figure 10 shows one of the unevenly refined meshes used in these experiments.
A scattering matrix was constructed for each discretization and an instance of the boundary value problem was solved using this scattering matrix. In each experiment, the wavenumber was taken to be κ = π/2, making the domain roughly 3.46 wavelengths in diameter, the desired precision for the scattering matrix was set to = 1.0 × 10 −10 and the boundary data was taken to be the outward normal derivative on Γ of the function where Γ in denotes the sphere of radius 0.1 centered at the point (0.1, 0, 0). The error in the obtained charge distribution σ was measured via the quantity  where σ is the obtained charge distribution and Γ out denotes the sphere of radius 1 centered at the point (−10, −10, 0). Table 7 reports the error (6.5) along with N tris , N , T and N out × N in (whose meanings are as in the preceding sections).  Table 7. The results of the experiments preformed on the deformed cube of Section 6.4.
6.5. A Convergence Study involving a Trefoil Domain. The experiments described in the preceding sections all involved problems with artifical boundary data associated with known solutions. In this section, we describe an experiment for which we did not have access to an exact solution, and instead estimate the error by comparing against a very finely resolved computed solution.
We considered the boundary value problem (DBVP) given on the trefoil domain Ω shown in Figure 11. The parameterization of the boundary of Ω is given by Discretizations of the surface Γ were formed by partitioning the parameter space into N tris triangles and utilizing an 8th order (52 point) quadrature on each triangle so that N = 52N tris . A scattering matrix for each discretization was then formed; Γ in consisted of the point (1, 0, 0) and Γ out was taken to be the surface of a sphere of radius 1 centered at (30,30,30). The boundary data was generated by a point charge on Γ in . As the solution to this problem is unknown, we report the L 2 convergence of the solution on the surface of Γ out . Specifically, we report where σ N is the computed boundary charge distribution with N discretization points. We considered two choices of wavenumber and tolerance: (i) the domain was approximately 1 × 3 × 3 wavelengths in size and the tolerance is set to = 10 −9 ; (ii) the domain was approximately 2 × 6 × 6 wavelengths in size and the tolerance is set to = 10 −6 . Tables 8 and 9 report on the convergence of the solution as the number of discretization points N is increased.   Table 9. The results for the experiments performed on the trefoil of Section 6.5 when the domain is is approximately 2 × 6 × 6 wavelengths in size and = 10 −6 .
Appendix A. A robust integral formulation for solving (NBVP) Consider the task of solving the Neumann boundary value problem (NBVP) using a boundary integral equation formulation. In order to avoid the problem of spurious resonances, it would be natural to use a combined layer representation of the form However, the BIE obtained by simply combining (A.1) with the Neumann boundary condition involves the hypersingular operator (η x · ∇ x (η y · ∇ y G κ (x, y))) σ(y)ds(y).
Two difficulties are encountered when handling integral equations involving hypersingular operators: 1. Viewed as an operator from L 2 (Γ) to L 2 (Γ), N κ is not bounded. In consequence, if standard discretization methods are applied to integral equations involving this operator, ill-conditioned linear systems will result. This complication can be overcome by viewing N κ as on operator between two different Sobolev spaces; however, more complicated analytic machinery would then be required.
2. The singularity in the kernel of the hypersingular operator N κ is more severe than the singularities of the standard operators of acoustic scattering. As discussed in [8], the approach used here to evaluate singular integrals can be generalized to this case. However, considerable work is required and the resulting quadratures are somewhat less efficient than those used here.
A technique known as "regularization" offers an alternative to handling the operator N κ [11]. For example, the representation (2.2) can be replaced with which leads to the integral equation Using Calderón identities (which are discussed in, for instance, [28]), we can rewrite (A.2) as Appendix B. Derivation of scattering matrices and the merge formula from a field formulation The derivation of the formula for merging two scattering matrices given in Section 5.4 is quite formal. In this section, we provide a different derivation that is hopefully more intuitive and gives a better idea of the physical meaning of a scattering matrix S τ for a subpatch Γ τ ⊆ Γ. This derivation was omitted from the main text since it requires the introduction of several auxiliary fields.
Throughout this section of the appendix, we rely on the hierarchical tree partitioning of the domain Γ described in Section 5.2, and the associated HBS representation of a matrix given in Section 5.3. B.1. Problem formulation. Our objective is to evaluate the map (4.4), which is the discretization of the scattering problem (4.1). We restate it for easy reference: Given a vector s in representing a source distribution on the "radiation source," we seek to compute the field u out on the "antenna" given by We define the external incoming field on the scattering surface Γ via u = A in s in .
The core task is then to solve the equation to compute the field of induced charges σ on Γ. As described in Section 4.2, we do not need to solve (B.2) in full generality, but only under two simplifying constraints: (1) The external incoming field u is restricted to a low-dimensional space spanned by the provided basis matrixÛ 1 . In other words, there exists a short vectorũ 1 such that u =Û 1ũ1 . (2) We only need the projection of σ onto a low-dimensional space spanned by the provided basis matrixV 1 . In other words, we only need the short vectorσ 1 =V * 1 σ.
For convenience in the hierarchical formulation of the scattering problem, we define for a subpatch Γ τ of the scattering surface an internal incoming field via v τ = A(I τ , I c τ ) σ(I c τ ).

(B.3)
Then v τ is the field on Γ τ induced by charges on Γ\Γ τ . For a node τ , the restriction of (B.2) to I τ , A(I τ , I τ ) σ(I τ ) + A(I τ , I c τ ) σ(I c τ ) = u(I τ ) (B.4) can then be written A(I τ , I τ ) σ(I τ ) = u(I τ ) − v τ . (B.5) In words, equation (B.5) states that the induced charges σ(I τ ) on Γ τ must create a local field that precisely match the total incoming field u(I τ )−v τ , which is the difference between the externally imposed incoming field u(I τ ) and the internal incoming field v τ which is caused by induced charges on the rest of Γ.
B.3. Hierarchical construction of scattering matrices. For leaf nodes τ , we compute S τ directly from the definition (B.10). For parent nodes, we compute the scattering matrices via a hierarchical merging procedure; it turns out that if we know the scattering matrices S α and S β of the children {α, β} of a node τ , then S τ can be built inexpensively as follows: Observe that (B.7) can be written Comparing equation (B.14) to (B.9), we rediscover the formula (5.8) for the merge of two scattering matrices given in Lemma 5.1.