high-order quadratures for the solution of scattering ... · high-order quadratures for the...

36
High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical Report YALEU/DCS/TR-1401 April 22, 2008 1

Upload: others

Post on 30-Apr-2020

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

High-Order Quadratures for the Solution ofScattering Problems in Two Dimensions

Ran Duan and Vladimir RokhlinTechnical Report YALEU/DCS/TR-1401

April 22, 2008

1

Page 2: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

Report Documentation Page Form ApprovedOMB No. 0704-0188

Public reporting burden for the collection of information is estimated to average 1 hour per response, including the time for reviewing instructions, searching existing data sources, gathering andmaintaining the data needed, and completing and reviewing the collection of information. Send comments regarding this burden estimate or any other aspect of this collection of information,including suggestions for reducing this burden, to Washington Headquarters Services, Directorate for Information Operations and Reports, 1215 Jefferson Davis Highway, Suite 1204, ArlingtonVA 22202-4302. Respondents should be aware that notwithstanding any other provision of law, no person shall be subject to a penalty for failing to comply with a collection of information if itdoes not display a currently valid OMB control number.

1. REPORT DATE 22 APR 2008 2. REPORT TYPE

3. DATES COVERED 00-00-2008 to 00-00-2008

4. TITLE AND SUBTITLE High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions

5a. CONTRACT NUMBER

5b. GRANT NUMBER

5c. PROGRAM ELEMENT NUMBER

6. AUTHOR(S) 5d. PROJECT NUMBER

5e. TASK NUMBER

5f. WORK UNIT NUMBER

7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES) Yale University ,Department of Computer Science,New Haven,CT,06520-8285

8. PERFORMING ORGANIZATIONREPORT NUMBER

9. SPONSORING/MONITORING AGENCY NAME(S) AND ADDRESS(ES) 10. SPONSOR/MONITOR’S ACRONYM(S)

11. SPONSOR/MONITOR’S REPORT NUMBER(S)

12. DISTRIBUTION/AVAILABILITY STATEMENT Approved for public release; distribution unlimited

13. SUPPLEMENTARY NOTES

14. ABSTRACT

15. SUBJECT TERMS

16. SECURITY CLASSIFICATION OF: 17. LIMITATION OF ABSTRACT Same as

Report (SAR)

18. NUMBEROF PAGES

35

19a. NAME OFRESPONSIBLE PERSON

a. REPORT unclassified

b. ABSTRACT unclassified

c. THIS PAGE unclassified

Standard Form 298 (Rev. 8-98) Prescribed by ANSI Std Z39-18

Page 3: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

We construct an iterative algorithm for the solution of forward scattering problemsin two dimensions. The scheme is based on the combination of high-order quadratureformulae, fast application of integral operators in Lippmann-Schwinger equations,and the stabilized biconjugate gradient method (BI-CGSTAB). While the FFT-basedfast application of integral operators and the BI-CGSTAB for the solution of linearsystems are fairly standard, a large part of this paper is devoted to constructing a classof high-order quadrature formulae applicable to a wide range of singular functions intwo and three dimensions; these are used to obtain rapidly convergent discretizationsof Lippmann-Schwinger equations. The performance of the algorithm is illustratedwith several numerical examples.

High-Order Quadratures for the Solution ofScattering Problems in Two Dimensions

Ran Duan and Vladimir RokhlinTechnical Report YALEU/DCS/TR-1401

April 22, 2008

The authors were supported in part by the Schlumberger Technology Corporation, ONRGrant N00014-07-1-0711, and AFOSR Grant FA9550-06-1-0239.Approved for public release: Distribution is unlimited.Keywords: Scattering, Helmholtz, Lippmann-Schwinger, High-Order, Quadratures, Singu-lar, Hankel

2

Page 4: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

1 Introduction

Forward scattering has been an active field of research in science, mathematics, and engi-neering over the past several decades (see e.g. [3], [4]). The most straightforward method forthe solution of a forward scattering problem is to discretize the underlying PDEs directly,replace the derivatives with finite differences, and solve numerically the resulting system oflinear algebraic equations. However, discretization of differential equations leads to matri-ces with high condition numbers, with the attendant loss of accuracy, deterioration in theperformance of iterative methods, etc. Another approach is to convert the underlying PDEsinto integral equations of the second kind (normally referred to as the Lippmann-Schwingerequation), discretize the latter via appropriate quadrature formulae, and deal numericallywith the resulting linear systems. This paper constructs a class of high-order quadratureformulae applicable to the Lippmann-Schwinger equation in two and three dimensions.

1.1 Statement of the Problem

The forward scattering problem is the problem of determining the scattered field given theparameters of the scattering structure and the incident field. In this section, we formulatethe two-dimensional forward scattering problem for the Helmholtz equation, and derive thecorresponding Lippmann-Schwinger equation.

The forward scattering problem we investigate arises from the time domain wave equation

∂2

∂2tψ(x, t) = c2(x) · 2ψ(x, t), (1)

where ψ(x, t) is the value of the scalar field at a point x at time t, and c(x) is the local speedof wave propagation at a point x. In order to solve (1), we assume that

ψ(x, t) = ψk(x) ei k c0 t, (2)

where k is a complex number with non-negative imaginary part, and c0 is the speed of wavepropagation outside of the scattering structure. Substituting (2) into (1), we obtain

(2 + k2)ψk(x) = k2 V (x)ψk(x), (3)

whereV (x) = 1 − (

c0c(x)

)2. (4)

Equation (3) is the well-known Helmholtz equation, and the operator (2 + k2) is knownas the Helmholtz operator. For any point x outside the scattering object, c(x) = c0; therefore,V (x) = 0 outside the scattering object. We represent the field ψk(x) at a point x as a sumof two parts: the incident field ψin

k (x) and the scattered field ψscatk (x), i.e.,

ψk(x) = ψink (x) + ψscat

k (x). (5)

The incident field satisfies the homogenous Helmholtz equation

(2 + k2)ψink (x) = 0, (6)

3

Page 5: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

in some open region in R2 containing the scatterer; the scattered field satisfies the Sommerfeld

radiation condition

lim|x|→∞

|x| (∂ ψscatk (x)

∂ |x| − i k ψscatk (x)) = 0. (7)

Combining equations (3), (5), and (6), we obtain the equation for the scattered field

(2 + k2)ψscatk (x) − k2 V (x)ψscat

k (x) = k2 V (x)ψink (x). (8)

In this paper, we view the equation (8) with ψscatk satisfying the Sommerfeld condition (7)

as the principal formulation of the forward scattering problem. A standard approach to thenumerical solution of (8) is to convert (8) into the well-known Lippmann-Schwinger equation,which is an integral equation of the second kind, as follows (see, for example, [5]).

Convolving (8) with a Green’s function for the equation

(2 + k2)Gk(x, y) = δ(x− y), (9)

we obtain

ψscatk (x) − k2

D

Gk(x, y)V (y)ψscatk (y) dy = k2

D

Gk(x, y)V (y)ψink (y) dy, (10)

which is an integral equation of the second kind; in (10) above, D denotes the region in spacewhere the scatterer is located. As is well-known, in two dimensions, the Green’s functionGk(x, y) satisfying the condition (7) is

Gk(x, y) = − i

4H

(1)0 (k‖x− y‖), (11)

where H(1)0 (k‖x − y‖) is the Hankel function of the first kind of order zero. We will define

the operator L : L2(D) → L2(D) by the formula

L(ψ)(x) =

D

Gk(x, y)V (y)ψ(y) dy, (12)

and observe that a large part of this paper is devoted to the construction of accurate dis-cretizations of L.

1.2 Overview

A number of algorithms exist for the modeling of acoustic scattering; since we are interestedin frequency domain results, we have concentrated on frequency domain (as opposed to time-domain) models. The usual approach to such problems is to convert the scattering probleminto the Lippmann-Schwinger equation, and solve the latter iteratively (integral equations ofthe second kind being much more amenable to iterative techniques than the straightforwarddiscretizations of underlying partial differential equations (PDEs)). In addition, the use ofthe Lippmann-Schwinger equation obviates the need to impose the radiation (Sommerfeld)condition at the boundary of the grid, since the “background” Green’s function (11) imposesthe Sommerfeld condition automatically.

4

Page 6: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

Historically, there have been two problems associated with the numerical use of integralequations in scattering calculations. First, the kernels of Lippmann-Schwinger equationsare dense, except when the background is extremely attenuating; since iterative techniquesrequire application of the matrix of the discretized integral operator to a sequence of re-cursively generated vectors, the cost of the procedure is prohibitive, except for extremelysmall-scale problems. This difficulty was overcome almost 40 years ago via the observa-tion that the free-space Green’s function for the Helmholtz equation is translation invariant;appropriately chosen discretizations of Lippmann-Schwinger equations result in Toeplitz ma-trices, and the latter can be rapidly applied to arbitrary vectors via the FFT (Fast FourierTransform), resulting in algorithms with CPU time requirements proportional to N · log(N),with N the number of nodes in the discretization of the problem. Various forms of thisapproach have been widely used in electrical engineering and other fields, under the name“k-space” methods; some of the existing codes are quite fast, even for discretizations involv-ing hundreds of millions of nodes. However, the resulting solvers for the underlying PDEsare usually not very accurate, due to the problem discussed in the following paragraph.

The second difficulty associated with numerical use of Lippmann-Schwinger equationsis due to the singular character of the Green’s function for the Helmholtz equation; intwo dimensions, the principal term of the singularity is of the form log(r), and in threedimensions, it is of the form 1/r. As a result, kernels of Lippmann-Schwinger equations aresingular; the singularities are located on the diagonal, and in two dimensions are of the form

K(x, y) = log(|x− y|) + P (x, y) · log(|x− y|) +Q(x, y), (13)

with P,Q two smooth functions, and P (x, x) = 0 for all x ∈ R2; the corresponding form inthree dimensions is

K(x, y) =1

|x− y| + P (x, y) · 1

|x− y| +Q(x, y). (14)

It is important to observe that in most cases, we do not have access to each of the functionsP,Q separately, but can only evaluate the whole kernel K given a pair of points (x, y). Inother words, standard integration techniques (such as product integration, etc.) can not beused efficiently. The standard procedure in the literature (referred to as the “singularityextraction”) is to subtract the principal singularity and treat it analytically, and apply thetrapezoidal quadrature rule to the remaining function. Since the latter is not smooth (havinginfinite derivatives at x = y), the procedure converges slowly, normally behaving like a secondorder scheme.

We introduce a class of quadrature formulae for functions of the form (13) in two di-mensions and (14) in three dimensions. The approach is somewhat related to the Ewaldsummation [6], and leads to quadratures that can be viewed as a version of the correctedtrapezoidal rule; it is easily combined with the FFT to obtain fast algorithms. While inprinciple corrections of arbitrarily high order could be constructed, in practice both thecomplexity of derivation and the number of corrections grow rapidly with the order. Wehave designed corrections of orders 4, 6, 8, and 10; they require 1, 5, 13, and 25 correctednodes respectively.

The paper is organized as follows. In Section 2, we summarize several well-known math-ematical facts to be used in the paper. In Section 3, we introduce analytical tools to be used

5

Page 7: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

in the construction of the algorithm. Section 4 describes the algorithm in detail, and containsa complexity analysis. In Section 5, several numerical examples are used to illustrate theperformance of the algorithm. Finally, Section 6 contains generalizations and conclusions.

2 Analytical Preliminaries

In this section, we summarize several well-known mathematical facts to be used in thesections below. All of these are either well known or easily derived from well-known results.

2.1 Notation

For an integer N ≥ 1, the two-dimensional discrete Fourier transform FN is a mappingconverting a two-dimensional complex sequence a = aj1j2, j1, j2 = −N, ..., N, into anothertwo-dimensional complex sequence A = Ak1k2, k1, k2 = −N, ..., N, defined by the formula

Ak1k2 =

N∑

j1=−N

N∑

j2=−N

aj1j2 e− 2πi

(2N+1)k1j1 e−

2πi

(2N+1)k2j2 . (15)

It is easily verified that the inverse (FN)−1 of the mapping FN is given by the formula

(FN)−1(A)j1j2 = aj1j2 =1

(2N + 1)2

N∑

k1=−N

N∑

k2=−N

Ak1k2 e2πi

(2N+1)k1j1 e

2πi

(2N+1)k2j2, (16)

with j1 = −N, ..., N , j2 = −N, ..., N .For a Helmholtz equation

∇2φ+ k2φ = 0 (17)

in two dimensions, the potential φ at a point x produced by a unit point source at x0 isgiven by the formula

φ(x) = − i

4H0(k‖x− x0‖), (18)

where k is a complex number such that Im(k) ≥ 0, and H0 is the Hankel function of the firstkind of order zero. The well-known Sommerfeld formula states that

H0(kr) =1

π·∫ ∞

−∞

1√k2 − λ2

· ei√

k2−λ2x · eiλy dλ (19)

for any k ∈ C+, r, x, y ≥ 0, and r =

x2 + y2 (see, for example, [9]).Finally, we will need the identity

n∑

j=0

fjgj = fn

n∑

k=0

gk −n−1∑

j=0

(fj+1 − fj) · (j

k=0

gk), (20)

valid for two arbitrary finite sequences fj, j = 0, 1, 2, . . . , n,, gj, j = 0, 1, 2, . . . , n,. Byanalogy with integration by parts, (20) is normally referred to as summation by parts; it iseasily verified by a substitution.

6

Page 8: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

2.2 High-Order Corrected Trapezoidal Quadrature Rules for Sin-gular Functions in One Dimension

For a function f : [a, b] → R1 and integer n ≥ 2, the n-point trapezoidal rule Tn is definedby the formula

Tn(f) = h

( n−1∑

i=0

f(a+ ih) −(f(a) + f(b)

2

)

)

, (21)

where

h =b− a

n− 1, (22)

and is widely used as an approximation to the integral∫ b

af(x) dx. It is second order con-

vergent, as long as the second derivative of f is continuous on [a, b]. In other words, iff ∈ C2[a, b], then

∫ b

a

f(x) dx = Tn(f) +O(h2). (23)

For any function f ∈ C2m+2[a, b] with integer m ≥ 1, the well-known Euler-Maclaurinformula (see, for example, [1]) states that there exists a real number ξ with a < ξ < b, suchthat

∫ b

a

f(x) dx = Tn(f) +m

l=1

h2lB2l

(2l)!(f (2l−1)(b) − f (2l−1)(a)) − h2m+2B2m+2

(2m+ 2)!f (2m+2)(ξ), (24)

where Bk, k = 0, 1, 2, ... denote the Bernoulli numbers (see [1]). It is easily seen from (24)that for any function f ∈ Cm[a−mh, b+mh] with integer m ≥ 3, it is possible to constructquadratures of the form

T nβm(f) = Tn(f) + h

m−12

k=−m−12

(f(b+ kh) − f(a+ kh))βmk , (25)

where βmk are coefficients such that

∫ b

a

f(x) dx = T nβm(f) +O(hm+1), (26)

with h defined by (22). The quadrature T nβm is referred to as the (m+ 1)th-order endpoint-

corrected trapezoidal rule; for any given k and m, where m ≥ 3, and is odd, the coefficientβm

k can be obtained via a direct calculation (see [7]).While (21) and (25) are widely used for the numerical integration of smooth functions,

their use for singular integrands tends to encounter difficulties (see, for example, [11]). In[7], a class of quadrature formulae is constructed for approximating integrals of singularfunctions of the form

f(x) = φ(x) s(x), (27)

7

Page 9: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

where φ ∈ Cm[−b−mh, b+mh] with m ≥ 3, and s is an integrable function on [−b, b] with asingularity at zero. For integers n ≥ 1, p ≥ 1, and odd m ≥ 3, the quadrature Uτhβm for thefunctions with separable singularities (i.e., functions defined by (27)) is given by the formula

Uτhβm(f) = T ′nβm(f) +

p∑

j=−p

τhj φ(jh). (28)

In (28),

T ′nβm(f) = h

n∑

j=−nj 6=0

f(jh) −(

f(−b) + f(b)

2

)

+ h

m−12

k=−m−12

(f(b+ kh) − f(−b+ kh))βmk ,

(29)where the coefficients βm

k can be obtained via direct calculation (see [7]), h = bn, and the

coefficients τhj can be obtained by solving the system of linear equations

p∑

j=−p

xi−1j τh

j =

∫ b

−b

(xi−1s(x)) dx− T ′nβm(xi−1s), (30)

with xj = jh, and i = 1, 2, . . . , 2p+ 1. The quadrature formula (28) is of order 2p+ 2.

Remark 2.1 While (21) is the standard trapezoidal rule, and (25) is the trapezoidal rulewith endpoints corrections, (28) is the trapezoidal rule with corrections at both endpointsand a singular point inside the interval. Here, the singular point is the center point, so thescheme is sometimes called a “center-corrected trapezoidal rule.” The coefficients τh

j arecalled correction coefficients.

Remark 2.2 The only difference between T ′nβm(f) and T n

βm(f) is that T ′nβm(f) does not

contain the term h · f(0), which may become infinite for f of the form (27).

2.3 Toeplitz Convolution

This section introduces two-dimensional Toeplitz convolutions and a procedure for the cal-culation of two-dimensional Toeplitz convolutions via the two-dimensional discrete Fouriertransform. The Toeplitz convolution a ∗ b of finite two-dimensional complex sequencesa = aj1j2, j1, j2 = −N, ..., N, and b = bj1j2, j1, j2 = −2N, ..., 2N, is defined by theformula

(a ∗ b)k1k2 =N

j1=−N

N∑

j2=−N

aj1j2bk1−j1, k2−j2, (31)

where k1, k2 = −N, ..., N . The well-known convolution theorem states that the Toeplitzconvolution a ∗ b is equal to the inverse Fourier transform of the product of the Fouriertransform of a′ and b, where a′ is a two-dimensional sequence obtained by padding thetwo-dimensional sequence a with zeros. In other words,

(a ∗ b)k1k2 = (F2N)−1(

F2N(a′) · F2N(b))

k1k2, (32)

8

Page 10: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

where k1, k2 = −N, ..., N , and the coefficients of the two-dimensional complex sequencea′ = a′i1i2

, i1, i2 = −2N, ..., 2N are defined by the formulae

a′i1i2= ai1i2 , (33)

when −N ≤ i1, i2 ≤ N , otherwisea′i1i2

= 0. (34)

Remark 2.3 While direct calculation of Toeplitz convolution (31) leads to time cost of orderO(N4), which is prohibitive for large scale problems, application of FFT to the formula (32)reduces the time cost to O(N2 · logN) (see, for example, [2]). In this paper, FFT is used forthe fast calculation of Toeplitz convolution.

3 Mathematical Apparatus

In this section, we introduce analytical tools to be used in the construction of the algorithms.

3.1 Endpoint Corrected Trapezoidal Quadrature Rules in Two Di-mensions

This section can be viewed as the extension of results of Section 2.2 to two dimensions.For a function f : [a, b] × [a, b] → R1 and integer n ≥ 2, the two-dimensional trapezoidal

rule T 2Dn is defined by the formula

T 2Dn (f) =

n−1∑

i=0

n−1∑

j=0

f(a+ ih, a+ jh) · h2 · βij , (35)

where

h =b− a

n− 1, (36)

and βij equals 1 in the interior of the square [a, b]× [a, b], equals 12

in the interior of the edge,and equals 1

4on the corners of the square.

Further, if f ∈ C2[a, b] × [a, b], then

∫ b

a

∫ b

a

f(x, y) dx dy = T 2Dn (f) +O(h2). (37)

The proof consists of a straightforward application of one-dimensional trapezoidal rule (21)to both directions in two dimensions, and thus omitted.

The following Lemma provides the two-dimensional version of the Euler-Maclaurin for-mula.

9

Page 11: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

Lemma 3.1 Suppose that a function f ∈ C2m+2[a, b]× [a, b], integers m ≥ 1, n ≥ 2 . Then,

∫ b

a

∫ b

a

f(x, y) dx dy = T 2Dn (f) +

i=n−1∑

i=0

m∑

l=1

h2l+1 ·B2l · βi

(2l)!·

(

∂2l−1

∂x2l−1f(b, a + ih) − ∂2l−1

∂x2l−1f(a, a+ ih) − ∂2l−1

∂y2l−1f(a+ ih, b) − ∂2l−1

∂y2l−1f(a+ ih, a)

)

+m

l=1

m∑

l′=1

h2l+2l′ ·B2l · B2l′

(2l!)(2l′!)·(

∂2l+2l′−2

∂x2l−1 ∂y2l′−1

(

f(b, b)+f(a, a)−f(a, b)−f(b, a))

)

+O(h2m+2),

(38)

where T 2Dn (f) is defined in (35), h is defined in (36),

βi =

1 0 < i < n− 11/2 i = 0 or i = n− 1

, (39)

and Bk, k = 0, 1, 2, ... denote the Bernoulli numbers.

Proof. The Euler-Maclaurin formula (24) can be rewritten as∫ b

a

f(x) dx = Tn(f) +m

l=1

h2lB2l

(2l)!(f (2l−1)(b) − f (2l−1)(a)) +O(h2m+2). (40)

Hence,∫ b

a

∫ b

a

f(x, y) dx dy =

∫ b

a

(

n−1∑

i=0

f(a+ ih, y) · βi +

m∑

l=1

h2lB2l

(2l)!(f (2l−1)(b) − f (2l−1)(a)) +O(h2m+2)

)

dy. (41)

The conclusion of the Lemma follows immediately from applying the formula (40) to theintegrals in (41).

The following Lemma provides a (2m+ 2)th-order endpoint-corrected trapezoidal rule intwo dimensions.

Lemma 3.2 Suppose that a function f ∈ C2m+2[a, b] × [a, b] with integers m ≥ 1, n ≥ 2,h = b−a

n−1. Then,

∫ b

a

∫ b

a

f(x, y) dx dy = T 2D,n

β2m+1(f) +O(h2m+2), (42)

In (42),

T 2D,n

β2m+1(f) = T 2Dn (f) + h2

n−1∑

i=0

m∑

k=−m

(

β2m+1k βi·

(

f(b+ kh, ih)+ f(ih, b+ kh)− f(a+ kh, ih)− f(ih, a+ kh))

)

+h2m

k=−m

m∑

k′=−m

(

β2m+1k β2m+1

k′ ·

(

f(a+ kh, a + k′h) + f(b+ kh, b+ k′h) − f(a+ kh, b+ k′h) − f(b+ kh, a+ k′h))

)

, (43)

10

Page 12: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

T 2Dn , β2m+1

k , and βi are defined by (35), (25) and (39).

Proof. It is easily observed from the formulae (24), (25) that

m∑

l=1

h2l+1B2l

(2l!)f (2l−1)(a) =

m∑

k=−m

f(a+ kh) · β2m+1k · h2. (44)

Therefore,

m∑

k=−m

h2 · f(a+ kh, a+ ih) · β2m+1k =

m∑

l=1

h2l+1B2l

(2l!)

∂2l+1

∂x2l+1f(a, a+ ih), (45)

and

m∑

l=1

m∑

l′=1

h2l+2l′ · B2l ·B2l′

(2l!)(2l′!)

(

∂2l+2l′−2

∂x2l−1 ∂y2l′−1f(a, a)

)

=

m∑

l′=1

h2l′B2l′

(2l′!)·(

m∑

k=−m

h · β2m+1k

∂2l′−1

∂y2l′−1f(a+ kh, a)

)

=m

k=−m

h2β2m+1k ·

(

m∑

l′=1

h2l′−1B2l′

(2l′!)· ∂

2l′−1

∂y2l′−1f(a+ kh, a)

)

=

m∑

k=−m

m∑

k′=−m

h2 · β2m+1k β2m+1

k′ f(a+ kh, a+ k′h). (46)

Now, (43) follows immediately from the combination of (45), (46).

3.2 High-Order Center Corrected Trapezoidal Quadrature Rulesfor the Singular Functions in Two Dimensions

The following Lemma provides an estimate of the difference between the integral and theend-point corrected trapezoidal quadrature for functions of the form x2p+2 · log(x2 + y2).

Lemma 3.3 Suppose that n is a positive integer, a, h are two positive real numbers suchthat h = a/n, and integers m, p are such that m ≥ p+ 1 ≥ 1. Then,

∫ a

−a

∫ a

−a

(x2p+2 · log(x2 + y2)) dx dy = T 2D,n

β2m+1(x2p+2 · log(x2 + y2)) +O(h2p+4), (47)

with T 2D,n

β2m+1 defined by (43).

Proof. Here, we prove the case of p = 0 as an illustration; the proof for p > 0 is quitesimilar. For simplicity, we will be denoting x2 · log(x2 + y2) by g(x, y). Then,

∂g(x, y)

∂y=

2x2y

x2 + y2, (48)

11

Page 13: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

∂3g(x, y)

∂y3=

16x2y3

(x2 + y2)3 − 12x2y

(x2 + y2)2 , (49)

and∂6g(x, y)

∂y6= − 7680x2y6

(x2 + y2)6 +11520x2y4

(x2 + y2)5 − 4320x2y2

(x2 + y2)4 +240x2

(x2 + y2)3 . (50)

Replacing the derivatives in (24) with the appropriate finite differences, we rewrite (24) inthe form

∫ b

a

g(x) dx = Tn(g) +1

12h · (−g(b+ h) + g(a+ h) + g(b− h) − g(a− h))+

C1 · h4 · (g(3)(b) − g(3)(a)) − C2 · h6 · g(6)(ξ)

= T nβ3(g) + C1 · h4 · (g(3)(b) − g(3)(a)) + C2 · h6 · g(6)(ξ), (51)

where C1 and C2 are two constants independent of g, and ξ ∈ [a, b]. Therefore, for anyfixed x and g(x, y) = x2 · log(x2 + y2), the error ǫ(x) of the end-point corrected trapezoidalquadrature in the y direction is

ǫ(x) =

∫ a

−a

g(x, y) dy − T nβ3(g) = C1 · h4

(

16x2a3

(x2 + a2)3− 12x2a

(x2 + a2)2

)

+ C2 · h6 · g(6)(x, ξ). (52)

Summing up all the errors along the x axis, we obtain

ǫ =

∫ a

−a

∫ a

−a

(x2 · log(x2 + y2))dxdy − T 2D,n

β3 (x2 · log(x2 + y2)) ∼ 2 ·n

i=1

h · ǫ(ih)

≤ h ·n

i=1

(

C1 · h4

(

16(ih)2a3

((ih)2 + a2)3− 12(ih)2a

((ih)2 + a2)2

)

+ h ·n

i=1

C2 · h6 · |g(6)(ξ)|max

≤ C1 h4

∫ a

0

(

16x2a3

(x2 + a2)3− 12x2a

(x2 + a2)2

)

dx+ C2 · h7

n∑

i=1

240

(ih)4

∼ C1 · (3 − π) · h4 + C2 · h6 · log(h) ∼ O(h4). (53)

Theorem 3.4 below is an extension of the formula (28) to two dimensions. For an integerp ≥ 0, it supplies a (2p + 4)th-order center-corrected quadrature formula on R

2 for thefunctions of the form

f(x, y) = φ(x, y) · s(x, y), (54)

where φ : R2 → R, and

s(x, y) = log(x2 + y2) + P (x, y) · log(x2 + y2) +Q(x, y), (55)

with P,Q two smooth functions, and P (0, 0) = 0. Suppose that n, m are positive integers,and a, h are two positive real numbers such that h = a/n. We define T ′2D,n

β2m+1(f) by the

12

Page 14: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

formula

T ′2D,n

β2m+1(f) =∑

(i,j)∈M

f(ih, jh) · h2 · βij + h2n

i=−n

m∑

k=−m

(

β2m+1k βi·

(f(a+ kh, ih) + f(ih, a+ kh) − f(−a + kh, ih) − f(ih,−a+ kh)))

+h2

m∑

k=−m

m∑

k′=−m

(

β2m+1k β2m+1

k′ ·

(f(−a+ kh,−a + k′h) + f(a+ kh, a + k′h) − f(−a+ kh, a + k′h) − f(a+ kh,−a + k′h)))

,

(56)

whereM = i, j ∈ Z : |i| ≤ n, |j| ≤ n, (i, j) 6= (0, 0), (57)

βi =

1 |i| < n1/2 |i| = n

; (58)

in (56), coefficients βij equal 1 in the interior of the square [−a, a] × [−a, a], equal 12

in theinterior of the edge, and equal 1

4on the corners of the square, and β2m+1

k are defined in (25).

Theorem 3.4 Suppose that φ ∈ C2p+2(R2) with p ≥ 0, integer m ≥ p+1, and s is a singularfunction on R2 with a logarithmic singularity at (0, 0), i.e., of the form (55). Suppose furtherthat

U2Dτhβ2m+1(φ · s) = T ′2D,n

β2m+1(φ · s) +∑

(i,j)∈W

τhij φ(ih, jh), (59)

where T ′2D,n

β2m+1(φ · s) is defined by the formula (56),

W = i, j ∈ Z : |i+ j| ≤ p and |i− j| ≤ p, (60)

and the coefficients τhij in (59) satisfy the system of linear equations

(i,j)∈W

xi′−1i yj′−1

j τhij =

∫ a

−a

∫ a

−a

(xi′−1yj′−1s(x, y)) dx dy − T ′2D,n

β2m+1(xi′−1yj′−1s), (61)

with xi = ih, yj = jh, and (i′, j′) ∈ H, where H = i′, j′,∈ Z : i′ ≥ 1, j′ ≥ 1, i′+j′ ≤ 2p+2.Then,

∫ a

−a

∫ a

−a

(φ(x, y) · s(x, y)) dx dy = U2Dτhβ2m+1(φ · s) +O(h2p+4). (62)

Proof. Applying the Taylor expansion to the function φ(x, y) at the point (0, 0) we have

φ(x, y) = P (x, y) +R(x, y), (63)

where

P (x, y) =

2p+1∑

j=0

j∑

i=0

1

j!

(

j

i

)

xiyj−i ∂j

∂xi∂yj−iφ(x, y)|x=0, y=0 , (64)

13

Page 15: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

and

R(x, y) =1

(2p+ 2)!

2p+2∑

i=0

(

2p+ 2

i

)

xiy2p+2−i ∂2p+2

∂xi∂y2p+2−iφ(x, y)|x=ξ1, y=ξ2 , (65)

where ξ1, ξ2 ∈ [−a, a] × [−a, a]. Thus,

|∫ a

−a

∫ a

−a

(φ(x, y) · s(x, y)) dx dy − U2Dτhβ2m+1(φ · s)|

6 |∫ a

−a

∫ a

−a

(P (x, y) · s(x, y)) dx dy − U2Dτhβ2m+1(P · s)|+

|∫ a

−a

∫ a

−a

(R(x, y) · s(x, y)) dx dy − U2Dτhβ2m+1(R · s)|. (66)

Now, we make the following three observations. Due to (61),

∫ a

−a

∫ a

−a

(P (x, y) · s(x, y)) dx dy − U2Dτhβ2m+1(P · s) = 0, (67)

and due to (59),

|∫ a

−a

∫ a

−a

(R(x, y) · s(x, y)) dx dy − U2Dτhβ2m+1(R · s)|

6 |∫ a

−a

∫ a

−a

(R(x, y) · s(x, y)) dx dy − T ′2D,n

β2m+1(R · s)| + |∑

(i,j)∈W

τhij R(ih, jh)|. (68)

Due to formulae (47) and (61), it is obvious that

|∫ a

−a

∫ a

−a

(R(x, y) · s(x, y)) dx dy − T ′2D,n

β2m+1(R · s)| ∼ O(h2p+4),

(69)

and the coefficients τhij are of the order h2, hence,

|∑

(i,j)∈W

τhij R(ih, jh)| ∼ O(h2p+4). (70)

Finally, the conclusion of the Lemma follows from the combination of (66) – (70).

3.3 High-Order Center Corrected Trapezoidal Quadrature Rulesfor the Green’s Function for the Helmholtz equation

In this section, we prove Theorem 3.10, which is the principal analytical tool of this paper.Theorem 3.10 describes the 10th-order center-corrected trapezoidal quadrature formulae forthe Hankel function. It can be viewed as a special case of Theorem 3.4 with p = 3, and thesingular function s the Hankel function H0.

14

Page 16: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

In the remainder of this paper, we will be using the following notation. For any k ∈ C+

and h > 0, we will define the complex numbers D0, D1, D2, D3, D4, D5, via the formulae

D0 =

∫ ∞

−∞

∫ ∞

−∞H

(1)0 (kr) dx dy −

(p,q)6=(0,0)

H(1)0 (k

(ph)2 + (qh)2) · h2, (71)

D1 =

∫ ∞

−∞

∫ ∞

−∞H

(1)0 (kr)x2 dx dy −

(p,q)6=(0,0)

H(1)0 (k

(ph)2 + (qh)2) · (ph)2 · h2, (72)

D2 =

∫ ∞

−∞

∫ ∞

−∞H

(1)0 (kr)x4 dx dy −

(p,q)6=(0,0)

H(1)0 (k

(ph)2 + (qh)2) · (ph)4 · h2, (73)

D3 =

∫ ∞

−∞

∫ ∞

−∞H

(1)0 (kr)x2y2 dx dy −

(p,q)6=(0,0)

H(1)0 (k

(ph)2 + (qh)2) · (ph)2(qh)2 · h2, (74)

D4 =

∫ ∞

−∞

∫ ∞

−∞H

(1)0 (kr)x6 dx dy −

(p,q)6=(0,0)

H(1)0 (k

(ph)2 + (qh)2) · (ph)6 · h2, (75)

D5 =

∫ ∞

−∞

∫ ∞

−∞H

(1)0 (kr)x4y2 dx dy −

(p,q)6=(0,0)

H(1)0 (k

(ph)2 + (qh)2) · (ph)4(qh)2 · h2. (76)

The following Lemma is a simple consequence of the Sommerfeld formula (19).

Lemma 3.5 For any k ∈ C+, r, x, y ≥ 0, and r =

x2 + y2,

H0(kr) =1

π·∫ ∞

−∞

1√k2 − λ2

· ei·√

22·(√

k2−λ2−λ)·x · ei·√

22·(√

k2−λ2+λ)·y dλ, (77)

where r2 = x2 + y2, x, y ≥ 0.

The following two technical lemmas follow immediately from the Sommerfeld formula (19).

Lemma 3.6 For any k ∈ C+, and a ≥ 0,

∫ a

−a

∫ a

−a

H0(kr) dx dy =4

π·∫ ∞

−∞

1√k2 − λ2

·

ei·√

22·(√

k2−λ2−λ)·a − 1

i ·√

22· (√k2 − λ2 − λ)

· ei·√

22·(√

k2−λ2+λ)·a − 1

i ·√

22· (√k2 − λ2 + λ)

dλ, (78)

with r =√

x2 + y2.

Proof. Substituting (77) into the left side of (78), and changing the order of integration,we obtain

∫ a

−a

∫ a

−a

H0(kr) dx dy = 4

∫ a

0

∫ a

0

H0(kr) dx dy

=4

π

∫ ∞

−∞

dλ√k2 − λ2

·∫ a

0

ei·√

22·(√

k2−λ2−λ)·x dx ·∫ a

0

ei·√

22·(√

k2−λ2+λ)·y dy

=4

π·∫ ∞

−∞

1√k2 − λ2

· ei·√

22·(√

k2−λ2−λ)·a − 1

i ·√

22· (√k2 − λ2 − λ)

· ei·√

22·(√

k2−λ2+λ)·a − 1

i ·√

22· (√k2 − λ2 + λ)

dλ. (79)

15

Page 17: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

Lemma 3.7 For any k ∈ C+, integer n ≥ 1, and a > 0,

n∑

p=−n

n∑

q=−n

H0(k√

(ph)2 + (qh)2) · h2 · βpq (80)

=4

π

∫ ∞

−∞

1√k2 − λ2

· h2 ·(

ei·√

22·(√

k2−λ2−λ)·a − 1

ei·√

22·(√

k2−λ2−λ)·h − 1− 1

2+

1

2ei·

√2

2·(√

k2−λ2−λ)·a)

·(

ei·√

22·(√

k2−λ2+λ)·a − 1

ei·√

22·(√

k2−λ2+λ)·h − 1− 1

2+

1

2ei·

√2

2·(√

k2−λ2+λ)·a)

dλ, (81)

withh = a/n, (82)

and βpq equals 1 in the interior of the (2n+ 1)× (2n+ 1) square, equals 12

in the interior ofthe edge, and equals 1

4on the corners of the square.

Proof. The trapezoidal sum (84) over the domain [−a, a] × [−a, a] is equal to four timesthe trapezoidal sum over the domain [0, a] × [0, a]. In other words,

n∑

p=−n

n∑

q=−n

H(1)0 (k

(ph)2 + (qh)2) · h2 · βpq

= 4 ·n

p=0

n∑

q=0

H(1)0 (k

(ph)2 + (qh)2) · h2 · β ′pq, (83)

where β ′pq equals 1 in the interior of the (n+1)×(n+1) square, equals 1

2in the interior of the

edge, and equals 14

on the corners of the square. Substituting (77) into (83), and exchangingthe order of integration and summation, we obtain

n∑

p=−n

n∑

q=−n

H0(k√

(ph)2 + (qh)2) · h2 · βpq (84)

4

π

∫ ∞

−∞

dλ√k2 − λ2

· h2 ·( n

p=0

ei·√

22·(√

k2−λ2−λ)·p·h − 1 + ei·√

22·(√

k2−λ2−λ)·a

2

)

·( n

q=0

ei·√

22·(√

k2−λ2+λ)·q·h − 1 + ei·√

22·(√

k2−λ2+λ)·a

2

)

(85)

=4

π

∫ ∞

−∞

1√k2 − λ2

· h2 ·(

ei·√

22·(√

k2−λ2−λ)·a − 1

ei·√

22·(√

k2−λ2−λ)·h − 1− 1

2+

1

2ei·

√2

2·(√

k2−λ2−λ)·a)

·(

ei·√

22·(√

k2−λ2+λ)·a − 1

ei·√

22·(√

k2−λ2+λ)·h − 1− 1

2+

1

2ei·

√2

2·(√

k2−λ2+λ)·a)

dλ. (86)

.

16

Page 18: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

Remark 3.1 As a → ∞, the exponential terms e(i·√

22·(√

k2−λ2±λ)·a) in (78) and (81) tend tozero; this fact will be used in Lemma 3.8 below.

The following lemma provides an analytical form for the difference between the inte-gral (78) and the trapezoidal sum (81). Its proof consists of combining Remark 3.1 with(78), (81).

Lemma 3.8 For any k ∈ C+ and h > 0,

∫ ∞

−∞

∫ ∞

−∞H

(1)0 (kr) dx dy −

∞∑

p=−∞

∞∑

q=−∞H

(1)0 (k

(ph)2 + (qh)2) · h2

=4

π

∫ ∞

−∞

dλ√k2 − λ2

·(

1

(iα1)(iα2)− h2

4

eiα1h + 1

eiα1h − 1

eiα2h + 1

eiα2h − 1

)

, (87)

wherer =

x2 + y2, (88)

α1 =

√2

2(√k2 − λ2 − λ), α2 =

√2

2(√k2 − λ2 + λ). (89)

The following Lemma follows immediately from Lemma 3.8. It supplies an analyticalform for the difference∫ ∞

−∞

∫ ∞

−∞

(

xi−1yj−1H0(k√

x2 + y2))

dx dy−∑

(p,q)6=(0,0)

(

(ph)i−1(qh)j−1H0(k√

(ph)2 + (qh)2))

·h2,

(90)with i = 1, j = 1.

Remark 3.2 (90) is the right hand side of the equation (61), and thus is directly used inthe calculation of coefficients τh

ij. Direct numerical subtraction of the integral and the sum in(90) leads to loss of accuracy because of cancellation errors, especially when i, j are relativelylarge. Lemma 3.9 below and Lemmas 6.1 – 6.5 in Appendix A, provide analytical formulaefor (90) with (i, j) = (1, 1), (3, 1), (5, 1), (3, 3), (7, 1), (5, 3), i.e., D0 – D5 defined by (71) –(76), so that cancellation errors are reduced.

Lemma 3.9 For any k ∈ C+ and h > 0,

D0 =

∫ ∞

−∞

∫ ∞

−∞H

(1)0 (kr) dx dy −

(p,q)6=(0,0)

H(1)0 (k

(ph)2 + (qh)2) · h2

=4

π

∫ ∞

−∞

dλ√k2 − λ2

·(

1

(iα1)(iα2)− h2

2· eiα1h + eiα2h

(eiα1h − 1)(eiα2h − 1)

)

(91)

=4

π

∫ ∞

−∞

dλ√k2 − λ2

·(λ2

4− k2

24)h2 + z1 + z2 + i

12λh(y1 − y2) + y1y2

(iα1)(iα2)(1 + x1)(1 + x2), (92)

where the complex numbers x1, x2, y1, y2, z1, z2 are defined by the formulae

x1 =eiα1h − 1

iα1h− 1 =

∞∑

n=1

(iα1h)n

(n+ 1)!, x2 =

eiα2h − 1

iα2h− 1 =

∞∑

n=1

(iα2h)n

(n + 1)!, (93)

17

Page 19: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

y1 = x1 −iα1h

2=

∞∑

n=2

(iα1h)n

(n+ 1)!, y2 = x2 −

iα2h

2=

∞∑

n=2

(iα2h)n

(n+ 1)!, (94)

z1 = y1 −(iα1h)

2

6=

∞∑

n=3

(iα1h)n

(n+ 1)!, z2 = y2 −

(iα2h)2

6=

∞∑

n=3

(iα2h)n

(n+ 1)!, (95)

and r, α1, and α2 are defined by (88), (89).

Proof. Substituting (77) into∑

(p,q)6=(0,0)

H(1)0 (k

(ph)2 + (qh)2) · h2, (96)

and exchanging the order of integration and summation, we obtain∑

(p,q)6=(0,0)

H(1)0 (k

(ph)2 + (qh)2) · h2

=4

π

∫ ∞

−∞

dλ√k2 − λ2

·(

h2

4

eiα1h + 1

eiα1h − 1

eiα2h + 1

eiα2h − 1− h2

4

)

=4

π

∫ ∞

−∞

dλ√k2 − λ2

· h2

2· eiα1h + eiα2h

(eiα1h − 1)(eiα2h − 1). (97)

Now, (91) follows immediately from the combination of (97), (78), and Remark 3.1. Substi-tuting (93) into (91), we obtain

1

(iα1)(iα2)− h2

2· eiα1h + eiα2h

(eiα1h − 1)(eiα2h − 1)

=1

(iα1)(iα2)− 1

2· 2 + iα1h(1 + x1) + iα2h(1 + x2)

(iα1)(iα2)(1 + x1)(1 + x2)

=x1 + x2 + x1x2 − 1

2iα1h(1 + x1) − 1

2iα1h(1 + x1)

(iα1)(iα2)(1 + x1)(1 + x2). (98)

Finally, (92) follows from the combination of (93), (94), (95) and (98).

Remark 3.3 Introducing the notation z = λk, we rewrite D0 in the form

D0 =

∫ ∞

−∞

∫ ∞

−∞H

(1)0 (kr) dx dy −

(p,q)6=(0,0)

H(1)0 (k

(ph)2 + (qh)2) · h2

=4h2

π

∫ ∞

−∞

d z√1 − z2

·(

1

(z2 − 0.5) · (kh)2− 1

2· ei

√2

2(√

1−z2−z)kh + ei√

22

(√

1−z2+z)kh

(ei√

22

(√

1−z2−z)kh − 1)(ei√

22

(√

1−z2+z)kh − 1)

)

.

(99)

Thus, D0 is entirely determined by k and h, and is of the form h2 · f(k · h). Similarly, D1 isof the form h4 · f(k · h); D2 and D3 are of the form h6 · f(k · h); D4 and D5 are of the formh8 · f(k · h). In other words, except for the multiplicative factors (h2,h4, h6, or h8), D0 – D5

only depend on the product k · h.

18

Page 20: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

Remark 3.4 Even when Lemmas 6.1 – 6.5 are used, a certain loss of accuracy in the cal-culation of D1 – D5 is encountered (see Remark 3.2 above). Thus, evaluating D0 in doubleprecision, one obtains roughly 13 digits; for D1 one gets 9 digits, and D2 D3 D4 D5 yieldeven fewer digits.

To avoid this difficulty, we utilized extended (real *32) precision to precompute thecoefficients D0 – D5 for values of kh at appropriately chosen nodes on the boundary of thesquare Ω = [0, 1]×[0, 1] in the complex plane, and used Lagrange interpolation to evaluate D0

– D5 for arbitrary points in Ω to 13 digits (see [8] for a detailed description of the technique).Thus, in all of our numerical experiments reported in Section 5 below, the coefficients D0 –D5 were obtained by interpolation, rather than computed “from scratch”.

Now, we are ready to formulate Theorem 3.10, which is the principal analytical tool ofthis paper (together with Lemmas 6.6, 6.7, 6.8). Theorem 3.10 describes the 10th-ordercenter-corrected quadrature formula for the Green’s function for the Helmholtz equation intwo dimensions; this theorem is a special case of the high-order center-corrected trapezoidalrule for singular functions in two dimensions (see Theorem 3.4) with p = 3, and s(x, y) =

H(1)0 (k

x2 + y2). The 4th-order, 6th-order, and 8th-order center-corrected quadratures aresimilar and listed in Appendix B (see Lemma 6.6, 6.7 and 6.8). All the proofs are quitesimilar to that of Theorem 3.4, and are omitted.

Theorem 3.10 Suppose that n ≥ 1 is an integer, and a, h are two positive real numberssuch that h = a/n. Suppose further that φ : R2 → C is a function such that φ ∈ c8(R× R),and that φ is zero outside the square [−a, a] × [−a, a]. Then, for any k ∈ C

+,∫ a

−a

∫ a

−a

φ(x, y) ·H0(k√

x2 + y2) dx dy = Uτh(φ ·H0) +O(h10). (100)

In (100),

Uτh(φ ·H0) = T ′2D(φ ·H0) +

p,q∈S

τhpqφ(ph, qh), (101)

whereS = p, q ∈ Z : |p+ q| ≤ 3 and |p− q| ≤ 3, (102)

T ′2D(φ ·H0) =

(p,q)6=(0,0)

(

φ(ph, qh) ·H(1)0 (k

(ph)2 + (qh)2))

· h2, (103)

and

τh00 = D0 −

49

18

D1

h2+

7

9

D2

h4+

3

2

D3

h4− 1

18

D4

h6− 1

2

D5

h6, (104)

τh±10 = τh

0±1 =3

4

D1

h2− 13

48

D2

h4− 19

24

D3

h4+

1

48

D4

h6+

7

24

D5

h6, (105)

τh±20 = τh

0±2 = − 3

40

D1

h2+

1

12

D2

h4+

1

24

D3

h4− 1

120

D4

h6− 1

24

D5

h6, (106)

τh±30 = τh

0±3 =1

180

D1

h2− 1

144

D2

h4+

1

720

D4

h6, (107)

τh±1±1 =

5

12

D3

h4− 1

6

D5

h6, (108)

19

Page 21: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

Figure 1: The 25 correction nodes

τh±1±2 = τh

±2±1 = − 1

48

D3

h4+

1

48

D5

h6. (109)

Remark 3.5 For simplicity, we assume here the function φ to be zero outside the square[−a, a]×[−a, a]. Thus, the endpoint corrected trapezoidal rule T ′2D,n

β2m+1(φ·H0) in Theorem 3.4

reduces to the standard trapezoidal rule T ′2D(φ · H0), and the integral and the sum on thesquare [−a, a] × [−a, a] are identical to those in R2. This simplification allows the directuse of the analytical formulae for D0 – D5 (see Lemma 3.9 above and Lemmas 6.1 – 6.5 inAppendix A).

Remark 3.6 Combining Remark 3.3 with the definitions (104)–(109), we observe that eachof the coefficients τh

pq in (104)–(109) has the form h2 · f(k ·h); we will refer to the coefficientsτhpq as correction coefficients.

Remark 3.7 The set S defined in (102) contains 25 pairs of integers (p, q); in other words,corrections at 25 points around the singularity are required to construct a 10th-order quadra-ture formula (see Figure 1). In general, for any integer p ≥ 0, 2p2 + 2p+ 1 correction nodesare needed to obtain a quadrature of order 2p+ 4.

3.4 Fast Numerical Application of Discretized Lippmann-Schwinger

Operators

In this section, we combine the 10th-order quadrature formula for the integral (100) with theFFT to obtain a fast procedure for the application of discretizations of the operator (12).We will denote by D the square [−a, a] × [−a, a] in R2.

Suppose that N ≥ 1 is an integer, h is a positive real number, and S is a set definedin (102). Suppose further that the coefficients τh

i1i2are defined in (104)–(109). Then, we

define a two-dimensional complex sequence H = Hi1i2, i1, i2 = −2N, ..., 2N, as follows:

Hi1i2 = H0(k√

(i1h)2 + (i2h)2) + τhi1i2/h2, (110)

20

Page 22: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

when (i1, i2) ∈ S and (i1, i2) 6= (0, 0);

H00 = τh00/h

2, (111)

andHi1i2 = H0(k

(i1h)2 + (i2h)2), (112)

otherwise. We define a complex sequence Φ = Φi1i2, i1, i2 = −N, ..., N, to be the two-dimensional sequence defined by the formula

Φi1i2 = φ(i1h, i2h), (113)

where φ : R2 → C is a two-dimensional c8-function which is zero outside D.

Lemma 3.11 Suppose that the integers n, l1, l2 are such that n ≥ 1, −n ≤ l1 ≤ n, −n ≤ l2 ≤n, and that the real numbers a, x, y are such that a > 0, −a ≤ x ≤ a, −a ≤ y ≤ a. Supposefurther that φ : R2 → C is a c8-function which is zero outside the square [−a, a] × [−a, a].Then for any k ∈ C

+,∫ a

−a

∫ a

−a

φ(x′, y′) ·H(1)0 (k

(x− x′)2 + (y − y′)2) dx′ dy′

=∑

−n≤i1≤n

−n≤i2≤n

Φi1i2 ·H(l1−i1)(l2−i2) +O(h10), (114)

where h = a/n, x = l1h, y = l2h, the two-dimensional sequence Φ = Φi1i2, i1, i2 = −n, ..., nis defined in (113), and the two-dimensional sequence H = Hj1j2, j1, j2 = −2n, ..., 2n isdefined in (110) – (112).

Proof. Due to (100), (101),∫ a

−a

φ(x′, y′) ·H(1)0 (k

(x− x′)2 + (y − y′)2) dx′ dy′

=∑

(i1,i2)∈I′

φ(i1h, i2h) ·H(1)0 (k

(l1h− i1h)2 + (l2h− i2h)2) · h2

+∑

(p,q)∈S

τhpq φ(l1h+ ph, l2h + qh) +O(h10), (115)

whereI ′ = i1, i2 ∈ Z : |i1| ≤ n, |i2| ≤ n, (i1, i2) 6= (l1, l2), (116)

and S is defined in (102). Now, (114) follows immediately from the combination of (115)and the definitions in (110) – (113).

Remark 3.8 Obviously, (114) is the Toeplitz convolution of the two-dimensional sequencesΦ, H , and as such, it can be rapidly calculated via the FFT (see Section 2.3 above). Thus,

−n≤i1≤n

−n≤i2≤n

Φi1i2 ·H(l1−i1)(l2−i2) = (F2n)−1(F2n(Φ′) · F2n(H)

)

l1l2, (117)

21

Page 23: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

where −n ≤ l1 ≤ n, −n ≤ l2 ≤ n, and the two-dimensional sequence Φ′ = Φ′ij, i, j =

−2n, ..., 2n, is defined by

Φ′ij =

Φij if |i| ≤ n and |j| ≤ n0 if |i| > n or |j| > n

. (118)

Remark 3.9 For any point x outside the square [−a, a] × [−a, a], integral (12) is approx-imated via the standard trapezoidal rule. This approximation is 10th-order convergent, aslong as φ ∈ c10(R2) .

4 Description of the Procedure

This section describes the algorithm of the present paper in some detail. We start with aninformal description, follow with a more detailed one, and finish with a complexity analysis.

4.1 Informal Description of the Algorithm

Below, we describe an FFT-based 10th-order iterative algorithm for the solution of theLippmann-Schwinger equation

ψ(x) − k2

D

Gk(x, y)V (y)ψ(y) dy = k2

D

Gk(x, y)V (y)φ(y) dy (119)

in two dimensions, where D = [−a, a]× [−a, a], Gk is the Green’s function for the Helmholtz

equation in two dimension, i.e., Gk(x, y) = − i4· H(1)

0 (k‖x − y‖), and V (x) denotes thepotential at a point x. Here, ψ(x) and φ(x) are the scattered and the incident fields at apoint x, respectively.

As discussed in Remark 3.9, once the scattered field ψ in the domain D is known, thescattered field ψ outside D can be calculated via the standard trapezoidal rule applied to(119). Therefore, we focus on obtaining the solution of (119) for x ∈ D. Obviously, (119)can be written as the linear system

(1− A)ψ = Aφ, (120)

where ψ is the unknown scattered field in D, φ is the given incident field in D, 1 is theidentity operator, and A is the integral operator in (119). As discussed in Section 3, weuse (114) to approximate the integral operator A on the functions ψ, φ. With the help ofFFT (see Remark 3.8), we apply the discretized version of A rapidly to arbitrary vectors, andsolve the linear system (120) iteratively. We use one of the most popular iterative solvers,BI-CGSTAB (the stabilized bi-conjugate gradient method) (see [10], [12]).

4.2 Detailed Description of the Algorithm

Comment [Choose principal parameters.]

22

Page 24: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

Set the size of the scattering structure to [−a, a] × [−a, a].Set the initial position of a point source to (x0, y0) to generate the incident field.Choose precision ǫ to be achieved for the iterative solver.Choose an integer n; set h = a

n; set the number of nodes discretizing a side of the square

to 2n+ 1, so that the total number of nodes in the discretization is N = (2n+ 1)2.Choose the wave number k for the incident and the scattered fields.Construct a two-dimensional sequence Vij, i, j = −n, ..., n via the formula Vij =

V (ih, jh).

Stage 1

Comment [Construct the values of the the Green’s function.]

For the user-specified h and k, calculate the correction coefficients D0, D1, D2, D3, D4, D5

in (71)–(76) via interpolation (see Remark 3.4).Construct the two-dimensional sequence H via the formulae (110) – (112) on the square

[−2a, 2a] × [−2a, 2a], and calculate its Fourier transform using the two-dimensional FFT.

Stage 2

Comment [Construct the right hand side of the linear system (120).]

For a point source (x0, y0), construct a two-dimensional sequence Φ = Φij, i, j =−n, ..., n for the discretized incident field on the domain [−a, a]×[−a, a] via the formula (113).Construct the two-dimensional sequence f = Φij · Vij, i, j = −n, ..., n.

As in Remark 3.8, use the two-dimensional FFT to calculate the Toeplitz convolution ofthe sequences H and f .

Stage 3

Comment [Solve the linear system using iterative solvers.]

Use the iterative solver BI-CGSTAB to solve the linear system (1 − A)ψ = Aφ to thepredetermined precision ǫ. The multiplication Aψ is done via the combination of FFT andthe Toeplitz convolution of the two-dimensional sequences H and g, where g = Ψij · Vij,i, j = −n, · · · , n with Ψij = ψ(ih, jh) (see Remark 3.8).

The solution is the scattered field at the N discretization points in the square [−a, a] ×[−a, a].

Stage 4

Comment [Calculate the scattered field at any point in the two-dimensional plane.]

Use interpolation to obtain the scattered field at any arbitrary point in the square [−a, a]×[−a, a], based on the scattered field at the N discretization points. As in Remark 3.9, applythe trapezoidal rule to (119) to obtain the scattered field at any arbitrary point outside thesquare [−a, a] × [−a, a].

23

Page 25: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

4.3 Complexity Analysis

A brief analysis of the complexity of the algorithm is given below.In stage 1, the construction of the two-dimensional sequence H costs O(N), where N is

the total number of the discretization points on the square [−a, a]×[−a, a], i.e., N = (2n+1)2.The two-dimensional FFT costs O(N log(N)). Thus, the CPU time cost of the stage 1 is ofthe order O(N log(N)).

In stage 2, the construction of the two dimensional sequences Φ, f costs O(N), and thetwo-dimensional FFT costs O(N log(N)). Thus, the CPU time cost of the stage 2 is of orderO(N log(N)).

The CPU time cost of the stage 3 is of order O(Niter · N log(N)), where Niter is thenumber of iterations required by the iterative solver to get the pre-determined precision ǫ.

In stage 4, the CPU time cost of interpolating the field at any point in [−a, a] × [−a, a]O(N).

Summing up the CPU times above, we obtain the time estimate for the algorithm

T = α(Niter ·N log(N)) + β ·N + γ, (121)

where N is the total number of discretization points, Niter is the number of iterations requiredby the iterative solvers to reach the precision ǫ, and the coefficients α, β, γ are determinedby the computer system, implementation, etc.

The storage requirements of the algorithm are determined by the total number of dis-cretization points N and the number of iterations K performed before restarting the iterativesolvers, and are of the form

S = O(K ·N). (122)

5 Numerical Examples

The algorithm of Section 4 has been implemented in FORTRAN 77 in double precision.In this section, we illustrate the performance of the scheme as applied to two scatteringobjects: a Gaussian and a crude model of the human skull. The experiments were carriedout on a 2.8 GHz Pentium D desktop with 2 Gb of RAM and an L2 cache of 1 Mb. Thecalculations reported in Tables 1 and 3 were carried out with a requested accuracy of 10−13;the calculations reported in Tables 2 and 4 were carried out with a requested accuracy of10−9. We restarted the BI-CGSTAB every 5 steps.

Tables 1 - 4 illustrate the numerical behavior of the scattered field at arbitrary far-fieldpoints, generated by the potential V defined in (3); the incident field is produced by a singlepoint source. In Tables 1 and 2, we set the potential V (x, y) = e−40(x2+y2). Tables 3 and 4illustrate the numerical behavior of the scattered field, generated by a model of the humanskull, as shown in Figures 2 and 3. The headings of the Tables are as follows:

k is the wave number defined in (2);the computational grid is N ×N for a total of N2 discretization points;the computational grid is sizeobj wavelengths × sizeobj wavelengths;Nλ is the number of discretization points per wavelength;

24

Page 26: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1-1-0.8

-0.6-0.4

-0.2 0

0.2 0.4

0.6 0.8

1

-0.1 0

0.1 0.2 0.3 0.4 0.5 0.6 0.7

Figure 2: The human skull model

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1-1-0.8

-0.6-0.4

-0.2 0

0.2 0.4

0.6 0.8

1

-0.1 0

0.1 0.2 0.3 0.4 0.5 0.6 0.7

0.65 0.6 0.55 0.5 0.45 0.4 0.35 0.3 0.25 0.2 0.15 0.1 0.05 0

Figure 3: The human skull model viewed from the top

Table 1: 10th order convergence of the algorithm for Gaussian objectsk N sizeobj Nλ Erel Niter tCPU

25 50 8λ 6.28 6.33E-06 16 1.2E-0125 100 8λ 12.6 6.63E-09 16 5.9E-0125 200 8λ 25.1 6.04E-12 16 2.6E+0025 400 8λ 50.2 7.25E-13 16 1.1E+0125 800 8λ 100 6.32E-13 16 5.5E+0125 1600 8λ 201 - 16 2.4E+02

25

Page 27: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

Table 2: Gaussian objects with a fixed number of points per wavelengthk N sizeobj Nλ Erel Niter tCPU

25 50 8λ 6.28 6.33E-06 14 1.1E-0150 100 16λ 6.28 3.80E-06 20 7.2E-01100 200 32λ 6.28 4.44E-06 33 5.2E+00200 400 64λ 6.28 8.26E-06 61 4.4E+01400 800 128λ 6.28 1.60E-05 171 6.2E+02800 1600 255λ 6.28 - 891 1.4E+04

Table 3: 10th order convergence of the algorithm for the simulated human skullk N sizeobj Nλ Erel Niter tCPU

25 50 8λ 6.28 1.18E-04 134 1.1E+0025 100 8λ 12.6 1.91E-07 133 4.7E+0025 200 8λ 25.1 2.05E-10 134 2.1E+0125 400 8λ 50.2 4.56E-12 135 9.7E+0125 800 8λ 100 7.55E-12 132 4.7E+0225 1600 8λ 201 - 132 2.0E+03

Table 4: The simulated human skull with a fixed number of points per wavelengthk N sizeobj Nλ Erel Niter tCPU

25 50 8λ 6.28 1.17E-04 97 7.6E-0150 100 16λ 6.28 1.55E-05 165 5.8E+00100 200 32λ 6.28 1.03E-05 328 5.2E+01200 400 64λ 6.28 1.69E-05 756 5.5E+02400 800 128λ 6.28 2.21E-05 3286 1.2E+04800 1600 255λ 6.28 - 13568 2.1E+05

26

Page 28: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

Erel is the average of the relative errors of the solution for the scattered field at twentychosen far-field points;

Niter is the number of iterations used by the BI-CGSTAB;tCPU is the CPU time required in seconds.The following observations can be made from the tables above, and from the more detailed

numerical tests performed by the authors.1. For smooth scattering objects, the numerical algorithm of Section 4 displays 10th-

order convergence; the CPU time required to obtain requested precision is proportional toNiter ·N2 logN , where N2 is the total number of discretization points, Niter is determined bythe requested precision, the number of iterations before restarting the iterative solver, thesize and the structure of the scattering objects.

2. For sufficiently smooth scatterers, the relative precision of the solution is determined bythe number of discretization points per wavelength. For example, to obtain 5-digit precision,we need roughly 6.5 points per wavelength. Thus, with our constraint of 2 GB RAM, fivedigits can be obtained for scattering objects as large as 300 wavelengths × 300 wavelengths.

3. The number of iterations increases dramatically as the size of the scattering objectincreases, as shown in Tables 2, 4.

6 Conclusions

In this paper, we construct an iterative algorithm for the solution of two-dimensional forwardscattering problems. The scheme is based on the combination of high-order quadratureformulae, rapid numerical application of the integral operator in the Lippmann-Schwingerequation, and the stabilized bi-conjugate gradient method (BI-CGSTAB). As illustrated viaseveral numerical examples, the scheme is (2p+ 4)th (p = 0, 1, 2, 3, ...) order convergent; thecomputational complexity of the algorithm is O(Niter ·N2 logN), where Niter is the numberof iterations used by the iterative solver, and N2 is the total number of discretization points.

The approach we use for the design of high order center-corrected quadrature formulaeintroduced in this paper is not limited to functions of the form (13) in two dimensions; itis also applicable to functions of the form (14) in three dimensions, as well as many similarsituations. Furthermore, the method does not require access to each of the functions P , Qseparately in (13) and (14); it only requires the evaluation of the whole kernel K given a pairof points (x, y). Quadrature formulae of order higher than 10 can also be constructed, thoughthe derivations become more tedious. Finally, the scheme is easily extended to rectangularregions of the form [−a, a] × [−b, b], even though this paper only discusses on the squareregion [−a, a] × [−a, a].

Acknowledgments. The authors would like to thank Mark Tygert for helpful discus-sions.

27

Page 29: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

Appendix A

Lemmas 6.1 – 6.5 below provide analytical formulae for

∫ ∞

−∞

∫ ∞

−∞

(

xi−1yj−1H0(k√

x2 + y2))

dx dy−∑

(p,q)6=(0,0)

(

(ph)i−1(qh)j−1H0(k√

(ph)2 + (qh)2))

·h2,

(123)with (i, j) = (3, 1), (5, 1), (3, 3), (7, 1), (5, 3). The proofs are straightforward and tedious,and use the help of Mathematica.

Lemma 6.1 For any k ∈ C+ and h > 0,

D1 =

∫ ∞

−∞

∫ ∞

−∞H

(1)0 (kr)x2 dx dy −

(p,q)6=(0,0)

H(1)0 (k

(ph)2 + (qh)2) · (ph)2 · h2

=4

π

∫ ∞

−∞

dλ√k2 − λ2

·(

2

(iα1)3(iα2)− h4

2· e

iα1h(eiα1h + 1)(eiα2h + 1)

(eiα1h − 1)3(eiα2h − 1)

)

(124)

=4

π

∫ ∞

−∞

dλ√k2 − λ2

· 2

α31α2(1 + x1)3(1 + x2)

·(

(α2h)2

12+ 3z1 + z2 + 3y2

1 +3

2y1(iα1h) + 3y1y2 +

3

2y1(iα2h) +

3

2y2(iα1h)

+x31 + 3x2

1x2 + x31x2 −

1

2iα2hy2 +

1

2α2

1h2(x2

1 + 2x1)

+3

4α1α2h

2(x1x2 + x1 + x2) +1

4iα2

1α2h3(1 + x1)

2(1 + x2)

)

, (125)

where r, α1, α2, x1, x2, y1, y2, z1, z2 are defined by (88), (89), and (93)–(95).

28

Page 30: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

Lemma 6.2 For any k ∈ C+ and h > 0,

D2 =

∫ ∞

−∞

∫ ∞

−∞H

(1)0 (kr) x4 dx dy −

(p,q)6=(0,0)

H(1)0 (k

(ph)2 + (qh)2) · (ph)4 · h2

=4

π

∫ ∞

−∞

dλ√k2 − λ2

·(

24

(iα1)5(iα2)− h6

2· e

iα1h + 11e2iα1h + 11e3iα1h + e4iα1h

(eiα1h − 1)5· e

iα2h + 1

eiα2h − 1

)

=4

π

∫ ∞

−∞

dλ√k2 − λ2

· 1

α51α2(1 + x1)5(1 + x2)

·(

2(iα2h)2 + (iα2h)

3 + 5(iα1h)(iα2h)2 +

3

10(iα2h)

4 +20

3(iα1h)

2(iα2h)2

+5

2(iα1h)(iα2h)

3 +1

2(iα1h)

4(iα2h) + 4x1(iα1h)4 +

45

2x1(iα1h)

3(iα2h)

+2x1(iα1h)4(iα2h) + 45x2

1(iα1h)3 + 25x2

1(iα1h)2(iα2h) + 6x2

1(iα1h)4

+45

2x2

1(iα1h)3(iα2h) + 3x2

1(iα1h)4(iα2h) + 15x3

1(iα1h)3 + 4x3

1(iα1h)4

+15

2x3

1(iα1h)3(iα2h) + 2x3

1(iα1h)4(iα2h) + x4

1(iα1h)4 +

1

2x4

1(iα1h)4(iα2h)

+15

2x2(iα1h)

3(iα2h) +1

2x2(iα1h)

4(iα2h) + 50x1x2(iα1h)2(iα2h)

+45

2x1x2(iα1h)

3(iα2h) + 2x1x2(iα1h)4(iα2h) + 25x2

1x2(iα1h)2(iα2h)

+45

2x2

1x2(iα1h)3(iα2h) + 3x2

1x2(iα1h)4(iα2h) +

15

2x3

1x2(iα1h)3(iα2h)

+2x31x2(iα1h)

4(iα2h) +1

2x4

1x2(iα1h)4(iα2h) + 12w2(iα2h) + 30z2(iα1h)(iα2h)

+40y2(iα1h)2(iα2h) + 15y1(iα1h)(iα2h)

2 + 30y1y2(iα1h)(iα2h) − 120u1 − 24u2

−180w1(iα1h) − 60w2(iα1h) − 60w1(iα2h) − 160z1(iα1h)2 − 90z1(iα1h)(iα2h)

−80z2(iα1h)2 + 35y1(iα1h)

3 − 40y1(iα1h)2(iα2h) − 130y2

1(iα1h)2

−180y21(iα1h)(iα2h) − 240y3

1(iα1h) − 120y31(iα2h) − 120y4

1 − 30y2(iα1h)3

−180y1y2(iα1h)2 − 360y2

1y2(iα1h) − 240y31y2 − 20z1(iα2h)

2 − 240z21 − 120z1z2

−360y21(iα1h) − 240y3

1 − 120y21(iα2h) − 240y1y2(iα1h) − 240y2

1y2

−24x51 − 120x4

1x2 − 24x51x2

)

, (126)

where

w1 = z1 −(iα1h)

3

24=

∞∑

n=4

(iα1h)n

(n+ 1)!, w2 = z2 −

(iα2h)3

24=

∞∑

n=4

(iα2h)n

(n+ 1)!, (127)

u1 = w1 −(iα1h)

4

120=

∞∑

n=5

(iα1h)n

(n+ 1)!, u2 = w2 −

(iα2h)4

120=

∞∑

n=5

(iα2h)n

(n + 1)!, (128)

and r, α1, α2, x1, x2, y1, y2, z1, z2 are defined by (88), (89) and (93)–(95).

29

Page 31: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

Lemma 6.3 For any k ∈ C+ and h > 0,

D3 =

∫ ∞

−∞

∫ ∞

−∞H

(1)0 (kr) x2 y2 dx dy −

(p,q)6=(0,0)

H(1)0 (k

(ph)2 + (qh)2) · (ph)2(qh)2 · h2

=4

π

∫ ∞

−∞

dλ√k2 − λ2

(

4

(iα1)3(iα2)3− h6 · e

iα1h(eiα1h + 1)

(eiα1h − 1)3· e

iα1h(eiα1h + 1)

(eiα1h − 1)3

)

(129)

=4

π

∫ ∞

−∞

dλ√k2 − λ2

· −4

α31α

32(1 + x1)3(1 + x2)3

·(

1

240(iα1h)

4 +1

240(iα2h)

4 +3

4z1(iα1h)

2 +3

4z2(iα2h)

2

+9

2(iα1h)(iα2h)(z1 + z2) +

15

4z1(iα2h)

2 +15

4z2(iα1h)

2 − 3

2y1(iα1h)

2(iα2h)

−3

2y2(iα1h)(iα2h)

2 + 3u1 + 3u2 +9

2w2(iα1h) +

9

2w1(iα2h)

+3

2w1(iα1h) +

3

2w2(iα2h) −

9

4(iα1h)(iα2h)(z1 + z2) + 3z2

1 + 3z22

+9z1z2 −1

2y1(iα1h)

3 − 1

2y2(iα2h)

3 − 1

2y2

1(iα1h)2 − 1

2y2

2(iα2h)2

+9

4(iα1h)(iα2h)(3y1y2 +

1

6y1(iα2h) +

1

6y2(iα1h)) +

9

8y1(iα1h)

2(iα2h)

+3

8y1(iα2h)

3 +9

4y2

1(iα1h)(iα2h) +9

4y2

1(iα2h)2 +

3

2y3

1(iα2h)

+3

8y2(iα1h)

3 +9

8y2(iα1h)(iα2h)

2 +9

4y1y2(iα1h)

2 +9

4y1y2(iα2h)

2

+9

2y2

1y2(iα1h) + 9y21y2(iα2h) + 3y3

1y2 +9

4y2

2(iα1h)2 +

9

4y2

2(iα1h)(iα2h)

+9y1y22(iα1h) +

9

2y1y

22(iα2h) + 9y2

1y22 +

3

2y3

2(iα1h) + 3y1y32

−1

4(iα1h)

2(iα2h)2(2x1 + x2

1 + 2x2 + 4x1x2 + 2x21x2 + x2

2

+2x1x22 + x2

1x22) +

3

2y2

1(iα1h) + y31 +

3

2y2

2(iα2h) + y32 +

9

2y2

1(iα2h)

+9y1y2(iα1h + iα2h) + 9y21y2 +

9

2y2

2(iα1h) + 9y1y22

−3

4(iα1h)

2(iα2h)(x21 + 2x1x2 + x2

1x2)

−3

4(iα1h)(iα2h)

2(x22 + 2x1x2 + x1x

22) + 3x3

1x22 + 3x2

1x32 + x3

1x32

)

, (130)

where r, α1, α2, x1, x2, y1, y2, z1, z2, w1, w2, u1, u2 are defined by (88), (89), (93)–(95), (127)and (128).

30

Page 32: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

Lemma 6.4 For any k ∈ C+ and h > 0,

D4 =

∫ ∞

−∞

∫ ∞

−∞H

(1)0 (kr) x6 dx dy −

(p,q)6=(0,0)

H(1)0 (k

(ph)2 + (qh)2) · (ph)6 · h2

=4

π

∫ ∞

−∞

dλ√k2 − λ2

·(

720

α71α2

− h8

2· e

iα1h + 57e2iα1h + 302e3iα1h + 302e4iα1h + 57e5iα1h + e6iα1h

(eiα1h − 1)7· e

iα2h + 1

eiα2h − 1

)

=4

π

∫ ∞

−∞

dλ√k2 − λ2

· 1

α71α2(1 + x1)7(1 + x2)

· (A+B), (131)

where

A = 60(α2h)2 − 30(iα2h)

3 − 210(iα1h)(iα2h)2 − 9(α2h)

4 − 105(α1h)(α2h)3

−385(α1h)2(α2h)

2 + 37800y21(iα1h) + 25200y3

1 + 7560y21(iα2h)

+15120y1y2(iα1h) + 15120y21y2 + 15120x5

1 + 5040x61 + 720x7

1 + 25200x41x2

+15120x51x2 + 5040x6

1x2 + 720x71x2 + 5040u1 + 720u2 + 12600w1(iα1h)

−360w2(iα2h) + 2520w2(iα1h) + 2520w1(iα2h) − 17220(α1h)2z1

+6300z1(iα1h)(iα2h) + 1260z2(α1h)(α2h) − 4620(α1h)2z2 + 15120z2

1

+2940y1(iα1h)3 − 6090y1(α1h)

2(iα2h) − 34440y21(α1h)

2 − 18900y21(α1h)(α2h)

+50400y31(iα1h) + 12600y3

1(iα2h) + 25200y41 + 3150y2(iα1h)

3

−18900y1y2(α1h)2 + 37800y2

1y2(iα1h) + 25200y31y2 − 840z1(α2h)

2 + 5040z1z2

+2310y2(α1h)2(iα2h) + 630y1(iα1h)(α2h)

2 + 1260y1y2(α1h)(α2h)

−63(iα1h)5 − 301(iα1h)

4(iα2h) + (α1h)6 +

63

2(α1h)

5(α2h) +1

2(α1h)

6(iα2h)

−2408x1(α1h)4 − 3150x1(α1h)

3(α2h) − 315x1(iα1h)5 − 1204x1(iα1h)

4(iα2h)

+6x1(α1h)6 +

315

2x1(α1h)

5(α2h) + 3x1(α1h)6(iα2h) − 6300x2

1(iα1h)3

+1680x21(α1h)

2(iα2h) − 3612x21(α1h)

4 − 3150x21(α1h)

3(α2h) − 630x21(iα1h)

5

−1806x21(iα1h)

4(iα2h) + 15x21(α1h)

6 + 315x21(α1h)

5(α2h) +15

2x2

1(α1h)6(iα2h)

−2100x31(iα1h)

3 − 2408x31(α1h)

4 − 1050x31(α1h)

3(α2h) − 630x31(iα1h)

5

−1204x31(iα1h)

4(iα2h) + 20x31(α1h)

6 + 315x31(α1h)

5(α2h) + 10x31(α1h)

6(iα2h)

−602x41(α1h)

4 − 315x41(iα1h)

5 − 301x41(iα1h)

4(iα2h) + 15x41(α1h)

6

+315

2x4

1(α1h)5(α2h) +

15

2x4

1(α1h)6(iα2h) − 63x5

1(iα1h)5 + 6x5

1(α1h)6

+63

2x5

1(α1h)5(α2h) + 3x5

1(α1h)6(iα2h) + x6

1(α1h)6 +

1

2x6

1(α1h)6(iα2h), (132)

31

Page 33: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

B = −1050x2(α1h)3(α2h) − 301x2(α1h)

4(iα2h) +63

2x2(α1h)

5(α2h)

+1

2x2(α1h)

6(iα2h) + 3360x1x2(α1h)2(iα2h) − 3150x1x2(α1h)

3(α2h)

−1204x1x2(α1h)4(iα2h) +

315

2x1x2(α1h)

5(α2h) + 3x1x2(α1h)6(iα2h)

+1680x21x2(α1h)

2(iα2h) − 3150x21x2(α1h)

3(α2h) − 1806x21x2(α1h)

4(iα2h)

+315x21x2(α1h)

5(α2h) +15

2x2

1x2(α1h)6(iα2h) − 1050x3

1x2(α1h)3(α2h)

−1204x31x2(α1h)

4(iα2h) + 315x31x2(α1h)

5(α2h) + 10x31x2(α1h)

6(iα2h)

−301x41x2(α1h)

4(iα2h) +315

2x4

1x2(α1h)5(α2h) +

15

2x4

1x2(α1h)6(iα2h)

+63

2x5

1x2(α1h)5(α2h) + 3x5

1x2(α1h)6(iα2h) +

1

2x6

1x2(α1h)6(iα2h), (133)

and where r, α1, α2, x1, x2, y1, y2, z1, z2, w1, w2, u1, u2 are defined by (88), (89), (93)–(95),(127) and (128).

Lemma 6.5 For any k ∈ C+ and h > 0,

D5 =

∫ ∞

−∞

∫ ∞

−∞H

(1)0 (kr) x4 y2 dx dy −

(p,q)6=(0,0)

H(1)0 (k

(ph)2 + (qh)2) · (ph)4(qh)2 · h2

=4

π

∫ ∞

−∞

dλ√k2 − λ2

·(

48

α51α

32

− h8 · eiα1h + 11e2iα1h + 11e3iα1h + e4iα1h

(eiα1h − 1)5· e

iα2h · (eiα2h + 1)

(eiα2h − 1)3

)

=4

π

∫ ∞

−∞

dλ√k2 − λ2

· 1

α51α

32(1 + x1)5(1 + x2)3

· (C +D) (134)

where

C =1

5(α2h)

4 + 240u1 + 360w1(iα1h) + 144u2 + 360w2(iα1h)

+360w1(iα2h) + 72w2(iα2h) − 320z1(α1h)2 − 540z1(α1h)(α2h)

−480z2(α1h)2 − 300z1(α2h)

2 − 180z2(α1h)(α2h) − 36z2(α2h)2 + 480z2

1

+720z1z2 + 144z22 − 70y1(iα1h)

3 − 240y1(α1h)2(iα2h) − 210y1(iα1h)(α2h)

2

+30y1(iα2h)3 − 260y2

1(α1h)2 − 1080y2

1(α1h)(α2h) − 360y21(α2h)

2

+480y31(iα1h) + 720y3

1(iα2h) + 240y41 + 180y2(iα1h)

3 + 120y2(iα1h)2(iα2h)

+30y2(iα1h)(α2h)2 − 1080y1y2(α1h)

2 − 1260y1y2(α1h)(α2h)

−180y1y2(α2h)2 + 2160y2

1y2(iα1h) + 1440y21y2(iα2h) + 1440y3

1y2 − 360y22(α1h)

2

−180y22(α1h)(α2h) + 1440y1y

22(iα1h) + 360y1y

22(iα2h) + 1440y2

1y22 + 120y3

2(iα1h)

+240y1y32 + 720y2

1(iα1h) + 480y31 + 720y2

1(iα2h) + 1440y1y2(iα1h)

+1440y21y2 + 720y1y2(iα2h) + 360y2

2(iα1h) + 720y1y22 + 72y2

2(iα2h) + 48y32 + 48x5

1

+720x41x2 + 144x5

1x2 + 1440x31x

22 + 720x4

1x22 + 144x5

1x22 + 480x2

1x32 + 480x3

1x32, (135)

32

Page 34: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

D = 240x41x

32 + 48x5

1x32 − 24y2(iα2h)

3 + 24y22(α2h)

2 − 3(iα1h)4(iα2h)

−15(iα1h)3(iα2h)

2 + (α1h)4(α2h)

2 − 8x1(α1h)4 − 135x1(α1h)

3(α2h)

−100x1(α1h)2(α2h)

2 − 12x1(α1h)4(iα2h) − 45x1(iα1h)

3(iα2h)2 + 4x1(α1h)

4(α2h)2

−90x21(iα1h)

3 − 150x21(iα1h)

2(iα2h) − 12x21(α1h)

4 − 135x21(α1h)

3(α2h)

−50x21(α1h)

2(α2h)2 − 18x2

1(α1h)4(iα2h) − 45x2

1(iα1h)3(iα2h)

2 + 6x21(α1h)

4(α2h)2

−30x31(iα1h)

3 − 8x31(α1h)

4 − 45x31(α1h)

3(α2h) − 12x31(α1h)

4(iα2h)

−15x31(iα1h)

3(iα2h)2 + 4x3

1(α1h)4(α2h)

2 − 2x41(α1h)

4 − 3x41(α1h)

4(iα2h)

+x41(α1h)

4(α2h)2 − 45x2(α1h)

3(α2h) − 100x2(α1h)2(α2h)

2 − 3x2(α1h)4(iα2h)

−30x2(iα1h)3(iα2h)

2 + 2x2(α1h)4(α2h)

2 + 300x1x2(α1h)2(iα2h)

+120x1x2(iα1h)(α2h)2 − 135x1x2(α1h)

3(α2h) − 200x1x2(α1h)2(α2h)

2

−12x1x2(α1h)4(iα2h) − 90x1x2(iα1h)

3(iα2h)2 + 8x1x2(α1h)

4(α2h)2

+150x21x2(α1h)

2(iα2h) − 135x21x2(α1h)

3(α2h) − 100x21x2(α1h)

2(α2h)2

−18x21x2(α1h)

4(iα2h) − 90x21x2(iα1h)

3(iα2h)2 + 12x2

1x2(α1h)4(α2h)

2

−45x31x2(α1h)

3(α2h) − 12x31x2(α1h)

4(iα2h) − 30x31x2(iα1h)

3(iα2h)2

+8x31x2(α1h)

4(α2h)2 − 3x4

1x2(α1h)4(iα2h) + 2x4

1x2(α1h)4(α2h)

2

+60x22(iα1h)(α2h)

2 − 50x22(α1h)

2(α2h)2 − 15x2

2(iα1h)3(iα2h)

2 + x22(α1h)

4(α2h)2

+60x1x22(iα1h)(α2h)

2 − 100x1x22(α1h)

2(α2h)2 − 45x1x

22(iα1h)

3(iα2h)2

+4x1x22(α1h)

4(α2h)2 − 50x2

1x22(α1h)

2(α2h)2 − 45x2

1x22(iα1h)

3(iα2h)2

+6x21x

22(α1h)

4(α2h)2 − 15x3

1x22(iα1h)

3(iα2h)2 + 4x3

1x22(α1h)

4(α2h)2

+x41x

22(α1h)

4(α2h)2, (136)

where r, α1, α2, x1, x2, y1, y2, z1, z2, w1, w2, u1, u2 are defined by (88), (89), (93)–(95), (127)and (128).

Appendix B

Here, we present the center-corrected quadrature formulae of orders 4, 6 and 8 for the integral∫ a

−a

∫ a

−a

φ(x, y) ·H0(k√

x2 + y2) dx dy. (137)

Lemma 6.6 (The 4th-Order Center-corrected Quadrature Formula). Suppose thatn ≥ 1 is an integer, and a, h are two positive real numbers such that h = a/n. Supposefurther that φ : R2 → C is a function such that φ ∈ c2(R × R), and that φ is zero outsidethe square [−a, a] × [−a, a]. Then, for any k ∈ C

+,∫ a

−a

∫ a

−a

φ(x, y) ·H0(k√

x2 + y2) dx dy = Uτh

(

φ(x, y) ·H0(k√

x2 + y2))

+O(h4). (138)

In (138),

Uτh

(

φ(x, y) ·H0(k√

x2 + y2))

= T ′h(

φ(x, y) ·H0(k√

x2 + y2))

+∑

p,q∈S

τhpqφ(ph, qh), (139)

33

Page 35: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

whereS = p, q ∈ Z : p = 0 and q = 0, (140)

T ′h(

φ(x, y) ·H0(k√

x2 + y2))

=∑

(p,q)6=(0,0)

(

φ(ph, qh) ·H0(k√

(ph)2 + (qh)2))

· h2, (141)

andτh00 = D0. (142)

Lemma 6.7 ( The 6th-Order Center-corrected Quadrature Formula). Suppose thatn ≥ 1 is an integer, and a, h are two positive real numbers such that h = a/n. Supposefurther that φ : R2 → C is a function such that φ ∈ c4(R × R), and that φ is zero outsidethe square [−a, a] × [−a, a]. Then, for any k ∈ C

+,

∫ a

−a

∫ a

−a

φ(x, y) ·H0(k√

x2 + y2) dx dy = Uτh

(

φ(x, y) ·H0(k√

x2 + y2))

+O(h6). (143)

In (143),

Uτh

(

φ(x, y) ·H0(k√

x2 + y2))

= T ′h(

φ(x, y) ·H0(k√

x2 + y2))

+∑

p,q∈S

τhpqφ(ph, qh), (144)

whereS = p, q ∈ Z : |p+ q| ≤ 1 and |p− q| ≤ 1, (145)

T ′h(

φ(x, y) ·H0(k√

x2 + y2))

=∑

(p,q)6=(0,0)

(

φ(ph, qh) ·H0(k√

(ph)2 + (qh)2))

· h2, (146)

and

τh00 = D0 − 2

D1

h2, (147)

τh±10 = τh

0±1 =1

2

D1

h2. (148)

Lemma 6.8 ( The 8th-Order Center-corrected Quadrature Formula). Suppose thatn ≥ 1 is an integer, and a, h are two positive real numbers such that h = a/n. Supposefurther that φ : R2 → C is a function such that φ ∈ c6(R × R), and that φ is zero outsidethe square [−a, a] × [−a, a]. Then, for any k ∈ C

+,

∫ a

−a

∫ a

−a

φ(x, y) ·H0(k√

x2 + y2) dx dy = Uτh

(

φ(x, y) ·H0(k√

x2 + y2))

+O(h8). (149)

In (149),

Uτh

(

φ(x, y) ·H0(k√

x2 + y2))

= T ′h(

φ(x, y) ·H0(k√

x2 + y2))

+∑

p,q∈S

τhpqφ(ph, qh), (150)

whereS = p, q ∈ Z : |p+ q| ≤ 2 and |p− q| ≤ 2, (151)

34

Page 36: High-Order Quadratures for the Solution of Scattering ... · High-Order Quadratures for the Solution of Scattering Problems in Two Dimensions Ran Duan and Vladimir Rokhlin Technical

T ′h(

φ(x, y) ·H0(k√

x2 + y2))

=∑

(p,q)6=(0,0)

(

φ(ph, qh) ·H0(k√

(ph)2 + (qh)2))

· h2, (152)

and

τh00 = D0 −

5

2

D1

h2+

1

2

D2

h4+D3

h4, (153)

τh±10 = τh

0±1 =2

3

D1

h2− 1

6

D2

h4− 1

2

D3

h4, (154)

τh±20 = τh

0±2 = − 1

24

D1

h2+

1

24

D2

h4, (155)

τh±1±1 =

1

4

D3

h4. (156)

References

[1] M. Abramowitz and I. Stegun, Handbook of Mathematical Functions, Applied Math.Series (National Bureau of Standards), Washington, DC, 1964.

[2] W. L. Briggs and V. E. Henson, The DFT: An Owners’ Manual for the Discrete FourierTransform, SIAM, Philadelphia, 1995.

[3] Y. Chen, A Fast Direct Algorithm for the Lippmann-Schwinger Integral Equation inTwo Dimensions, Advances in Computational Mathematics. Vol. 16, pp. 175-190, 2002.

[4] D. L. Colton, R. Kress, Integral equation methods in scattering theory, Pure and AppliedMathematics, 1983.

[5] D. L. Colton, R. Kress, Inverse Acoustic and Electromagnetic Scattering Theory,Springer-Verlag, 1992.

[6] P. Ewald, Die Berechnung Optischer und Eletrostatischer Gitterpotentiale, Annals ofPhysics. Vol. 64, pp. 253-287, 1921.

[7] S. Kapur, V. Rokhlin, High-Order Corrected Trapezoidal Quadrature Rule for SingularFunctions, Journal of Numerical Analysis, Vol. 34, No. 4, pp.1331-1356, 1997.

[8] J. Ma, Interpolation on Arbitrary Regions in the Complex Plane, Applied and Compu-tational Harmonic Analysis, Vol. 4, Issue. 3, pp.264-292, 1997.

[9] P. M. Morse, H. Feshbach, Methods of Theoretical Physics, McGraw-Hill Book Company,USA, 1953.

[10] Y. Saad, Iterative Methods for Sparse Linear Systems, SIAM, USA, 2003.

[11] J. Stoer, R. Bulirsch, Introduction to Numerical Analysis, Springer-Verlag New York,Inc., USA, 1993.

[12] H. A. van der Vorst, BI-CGSTAB: a Fast and Smoothly Converging Variant of BI-CG for the Solution of Nonsymmetric Linear Systems, SIAM Journal on Scientific andStatistical Computing. Vol. 13, No. 2, pp.631-644, 1992.

35