24
J Sci Comput (2013) 55:16–39 DOI 10.1007/s10915-012-9620-9 A Bootstrap Method for Sum-of-Poles Approximations Kuan Xu · Shidong Jiang Received: 8 October 2011 / Revised: 1 May 2012 / Accepted: 8 June 2012 / Published online: 22 June 2012 © Springer Science+Business Media, LLC 2012 Abstract A bootstrap method is presented for finding efficient sum-of-poles approxima- tions of causal functions. The method is based on a recursive application of the nonlinear least squares optimization scheme developed in (Alpert et al. in SIAM J. Numer. Anal. 37:1138–1164, 2000), followed by the balanced truncation method for model reduction in computational control theory as a final optimization step. The method is expected to be useful for a fairly large class of causal functions encountered in engineering and applied physics. The performance of the method and its application to computational physics are illustrated via several numerical examples. Keywords Rational approximation · Sum-of-poles approximation · Model reduction · Balanced truncation method · Square root method 1 Introduction Suppose that f H + , where H + is the Hardy space containing all functions that are ana- lytic in the open right half of the complex plane and bounded in the closed right half-plane (see, for example, [12, 13, 19, 40]). Such a function is called causal function in the literature of electrical engineering and physics. Indeed, when a causal function is used as the transfer function of a control system, the output and internal states of the system depend only on the current and previous input values (see, for example, [13, 43]). While in electromagnetics the complex permittivity function belongs to H + indicating the fact that the induced po- larization field can depend only on the current and previous electric field (see, for example, K. Xu ( ) One Research Circle, GE Global Research, Niskayuna, NY 12309, USA e-mail: [email protected] S. Jiang Department of Mathematical Sciences, New Jersey Institute of Technology, University Heights, Newark, NJ 07102, USA e-mail: [email protected]

A Bootstrap Method for Sum-of-Poles Approximations

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A Bootstrap Method for Sum-of-Poles Approximations

J Sci Comput (2013) 55:16–39DOI 10.1007/s10915-012-9620-9

A Bootstrap Method for Sum-of-Poles Approximations

Kuan Xu · Shidong Jiang

Received: 8 October 2011 / Revised: 1 May 2012 / Accepted: 8 June 2012 / Published online: 22 June 2012© Springer Science+Business Media, LLC 2012

Abstract A bootstrap method is presented for finding efficient sum-of-poles approxima-tions of causal functions. The method is based on a recursive application of the nonlinearleast squares optimization scheme developed in (Alpert et al. in SIAM J. Numer. Anal.37:1138–1164, 2000), followed by the balanced truncation method for model reduction incomputational control theory as a final optimization step. The method is expected to beuseful for a fairly large class of causal functions encountered in engineering and appliedphysics. The performance of the method and its application to computational physics areillustrated via several numerical examples.

Keywords Rational approximation · Sum-of-poles approximation · Model reduction ·Balanced truncation method · Square root method

1 Introduction

Suppose that f ∈ H∞+ , where H∞+ is the Hardy space containing all functions that are ana-lytic in the open right half of the complex plane and bounded in the closed right half-plane(see, for example, [12, 13, 19, 40]). Such a function is called causal function in the literatureof electrical engineering and physics. Indeed, when a causal function is used as the transferfunction of a control system, the output and internal states of the system depend only on thecurrent and previous input values (see, for example, [13, 43]). While in electromagneticsthe complex permittivity function belongs to H∞+ indicating the fact that the induced po-larization field can depend only on the current and previous electric field (see, for example,

K. Xu (�)One Research Circle, GE Global Research, Niskayuna, NY 12309, USAe-mail: [email protected]

S. JiangDepartment of Mathematical Sciences, New Jersey Institute of Technology, University Heights,Newark, NJ 07102, USAe-mail: [email protected]

Page 2: A Bootstrap Method for Sum-of-Poles Approximations

J Sci Comput (2013) 55:16–39 17

[11, 20]). Causal functions also arise in the construction of the exact nonreflecting bound-ary conditions of many time-dependent partial differential equations where they appear asLaplace transforms of the convolution kernels, due to the fact that the nonreflecting bound-ary conditions are often nonlocal in both space and time but still causal (see, for example,[5–7, 17, 21, 22]). We also assume that f decays to zero at infinity. However, very often f

is not smooth on the imaginary axis and may have, say, branch points on the imaginary axis.In this paper, we consider an efficient approximation of f by the sum of a small number

of poles. That is, we try to find two sets of complex numbers {wk} and {zk} with k = 1, . . . ,N

such that∣∣∣∣∣f (iy) −

N∑

k=1

wk

iy − zk

∣∣∣∣∣< ε, y ∈ R, (1)

where i is the unit imaginary number and ε is the prescribed precision. We also require thatall the poles {zk} lie on the open left half of the complex plane and thus (1) implies that

∣∣∣∣∣f (z) −

N∑

k=1

wk

z − zk

∣∣∣∣∣< ε, z ∈ C

+,

This approximation is useful in a number of applications. For example, in control theoryit can be used to obtain a reduced system with a much smaller number of parameterswhich is very close to the original system (see, for example, [13, 18, 23, 34, 37, 38, 41,43]). In computational electromagnetics, it can be used to compute the fractional derivativesin the Havriliak-Negami dielectric model of induced polarization (see, for example, [11]).The sum-of-poles approximation is also used to speed up the computation of nonreflectingboundary conditions for the wave and the Schrödinger equations (see, for example, [5, 6,21, 22]). For some of other recent applications of sum-of-poles approximation, please see,for example, [26, 27].

This problem has been investigated theoretically by Adamjan, Arov, and Krein using in-finite Hankel matrices [2–4, 36]. When the function can be expressed as a contour integraland thus the poles are known to lie on some contour in the complex plane, such approxima-tion can be obtained via some special quadratures [47] or generalized Gaussian quadrature[10, 33, 48]. However, there seems to be very few algorithms for directly constructing suchan approximation when the only information about the poles is that they must lie in theopen left half-plane. Indeed, the well-known exchange algorithm deals with the real ratio-nal approximation of a real function on an interval (see, for example, Chap. 10 in [39]). Ina series of papers [14–16, 44–46], Gutknecht and Trefethen et al. introduced the so-calledCF method for computing complex rational approximations for smooth functions based onthe finite Hankel matrices resulting from the discretization with equispaced points. Theirmethod can be applied to nonsmooth functions as well, but may result in either a very largenumber of poles or low accuracy near the singular points of the given function. In [5] (seealso [6] for its applications on the wave equation), Alpert et al. developed a nonlinear leastsquares algorithm for such problem when the pole locations are roughly known asymptoti-cally, upon which our bootstrap method is built.

Since the Laplace transform of an exponential function is a pole, a closely related prob-lem is approximation by sum-of-exponentials. Indeed, in many applications including thenonreflecting boundary conditions for some time-dependent partial differential equations,one often needs to evaluate a convolution integral of the form I (t) = ∫ t

0 K(t − τ)σ (τ ) dτ ,where K is the convolution kernel and σ is a given or unknown function. Furthermore,

Page 3: A Bootstrap Method for Sum-of-Poles Approximations

18 J Sci Comput (2013) 55:16–39

the kernel K is not given explicitly, but rather its Laplace transform is known. That is,K = L−1(f ) for some known function f . Clearly, the direct method of evaluating the convo-lution integral at NT time steps will take O(N2

T ) operations, rendering the long term simula-tions unfeasible. But if we can find an efficient and accurate sum-of-poles approximation forthe Laplace transform of the kernel, i.e., f �

∑Np

j=1wj

z−pj, then K(t − τ) �

∑Np

j=1 wjepj (t−τ)

and we readily have

I (t) �

Np∑

j=1

wj

∫ t

0epj (t−τ)σ (τ ) dτ :=

Np∑

j=1

wjCj (t).

Now, it is well known that the convolution with exponential functions can be computedusing a recurrence relation

Cj(t) =∫ t

0epj (t−τ)σ (τ )dτ = epj �tCj (t − �t) +

∫ t

t−�t

epj (t−τ)σ (τ ) dτ.

With the help of the above recurrence relation, each mode Cj can be computed in O(1)

operations at each time step and the total computational cost is reduced from O(N2T ) to

O(NpNT ), where Np is the number of poles in the approximation of f . Very often, one canshow that Np is of order logNT and the computational cost is reduced to near optimal.

We would like to remark here that when the function f is sectorial, López-Fernández etal. have developed a spectral order method for inverting the Laplace transform and thus ob-tained an efficient sum-of-exponentials approximation for the convolution kernel K directly(see, for example, [28, 29] for this method and [30–32, 42] for its applications on fast andoblivious convolution quadrature). Trefethen et al. have presented a detailed comparisonand discussion about inverting sectorial Laplace transforms using the trapezoidal or mid-point rule for discretizing various contour integrals in [47]. Finally, we would like to pointout that sum-of-exponentials approximation has many other applications by itself and maybe obtained via other methods (for a detailed discussion please see Beylkin et al. [8, 9]).

In this paper, we propose a bootstrap method for computing an efficient sum-of-polesapproximation for functions which are not very smooth on the imaginary axis. We assumethat the only known information on f is its value along the imaginary axis which is suppliedby a black-box subroutine. Our algorithm is roughly as follows. We first construct a binarytree structure containing successively larger intervals centered around the singular point ofthe function. We then apply the nonlinear least squares procedure in [5] on each subintervalin the binary tree to extract out the so-called near poles recursively. Finally, we apply thebalanced truncation method in model reduction (see, for example, [13, 18, 25, 34]) to reducethe number of poles.

The paper is organized as follows. The nonlinear least squares method in [5] and thebalanced truncation method are reviewed in Sect. 2. The bootstrap method is presentedin Sect. 3. Section 4 contains numerical experiments on an ad hoc example, the kernelsof the Havriliak-Negami dielectric model, and the convolution kernels in the nonreflectingboundary conditions for the Schrödinger equation. Finally, we give a short discussion inSect. 5.

Page 4: A Bootstrap Method for Sum-of-Poles Approximations

J Sci Comput (2013) 55:16–39 19

2 Numerical Preliminaries

In this section, we review the nonlinear least squares method in [5] and the balanced trun-cation method. We only present the tailored version which can be readily incorporated intoour bootstrap algorithm.

2.1 Nonlinear Least Squares Method

Given a complex-valued function f ∈ L2[a, b] and a positive integer d , the nonlinear leastsquares method in [5] tries to solve the following minimization problem

minP,Q

∫ b

a

∣∣∣∣

P (z)

Q(z)− f (z)

∣∣∣∣

2

dz, (2)

where P and Q are polynomials with deg(P ) + 1 = deg(Q) = d and the leading coefficientof Q is normalized to 1. Assuming that a good initial guess of Q is available, [5] tries tofind the solution to (2) iteratively by solving the following linear least squares problem ateach iteration step:

minP (i+1),Q(i+1)

∫ b

a

∣∣∣∣

P (i+1)(z)

Q(i)(z)− Q(i+1)(z)

Q(i)(z)f (z)

∣∣∣∣

2

dz. (3)

Straightforward computation shows that problem (3) is equivalent to the following linearsystem:

⟨−P (i+1)(z) + Q(i+1)(z)f (z), fi(z)⟩ = 0 for i = 1, . . . ,2d, (4)

where

fi(z) ={

z(i−1)/2f (z), for odd i

zi/2−1, for even i

and the inner product is defined by

〈f,g〉 =∫ b

a

f (z)g(z)

|Q(i)(z)|2 dz. (5)

However, we do not solve (3) by representing P , Q in terms of their monomial coeffi-cients and forming the corresponding matrix according to (4) for two reasons. First, the con-dition number of the resulting matrix is extremely large. Second, the rootfinding and eval-uation of a polynomial in terms of its monomial coefficients are also very ill-conditioned.Instead, [5] solves (3) by Gram-Schmidt orthogonalization. The 2d + 1 functions

f,1, zf, z, . . . , zd−1f, zd−1, zdf

are orthogonalized with respect to the inner product (5) to obtain the orthogonal functions

gn(z) =

⎪⎨

⎪⎩

f (z), n = 1

1 − c21g1(z), n = 2

zgn−2(z) − ∑min{4,n−1}j=2 cnjgn−j (z), n = 3, . . . ,2d + 1

(6)

Page 5: A Bootstrap Method for Sum-of-Poles Approximations

20 J Sci Comput (2013) 55:16–39

Algorithm 1 Nonlinear least squares method

Comment: Given f ∈ L2[a, b], a positive integer d , and an initial guess Q0, find polynomi-als P and Q with deg(P ) + 1 = deg(Q) = d so that

∫ b

a| P(z)

Q(z)− f (z)|2 dz is minimized.

1: while iter < itermax do2: Use Gram-Schmidt orthogonalization to construct P and Q such that

∫ b

a| P(z)

Q0(z)−

Q(z)

Q0(z)f (z)|2dz is minimized;

3: Set Q0(z) = Q(z), where Q(z) is obtained from the previous step;4: iter = iter + 1.5: end while

where

cnj = 〈zgn−2, gn−j 〉〈gn−j , gn−j 〉 , for n = 3, . . . ,2d + 1, j = 1, . . . ,min{4, n − 1}.

Remark 1 It is easy to see that the orthogonal functions gn satisfy the five-term recurrencerelation (6) by noting that 〈zgn−2, gj 〉 = 〈gn−2, zgj 〉 on the imaginary axis, zgj are linearcombinations of g1, g2, . . . , gj+2, and thus 〈zgn−2, gj 〉 = 0 for j < n − 4.

We now observe that

g2d+1 = Q(i+1)f − P (i+1),

so P (i+1) and Q(i+1) are computed from the recurrence coefficients cnj by splitting it intoeven- and odd-numbered parts.

2.2 The Balanced Truncation Method

Given a rational function of the form

R(z) =n

i=1

wi

z − pi

with all the poles pi lie on the open left half of complex plane, Algorithm 2 tries to findanother rational function of the same form

R(z) =k

i=1

wi

z − pi

but with much fewer poles (i.e., k � n) such that |R(z) − R(z)| < ε for all z ∈ C+

for some prescribed precision ε. The algorithm is a special case of the general bal-anced truncation method for model reduction in computational control theory (for a com-prehensive review on the balanced truncation method, see, for example, [13]). Here wewould like to remark that Algorithm 2 has been applied to find an efficient sum-of-poles approximation for the spherical nonreflecting boundary kernel for the wave equationin [25].

Page 6: A Bootstrap Method for Sum-of-Poles Approximations

J Sci Comput (2013) 55:16–39 21

Algorithm 2 Balanced truncation method

Comment: Given R(z) = ∑n

i=1wi

z−piand a prescribed precision ε, find R(z) = ∑k

i=1wi

z−pi

so that |R(z) − R(z)| < ε for z ∈ C+.

1: Form a diagonal matrix A = diag(p1,p2, . . . , pn), a row vector C = (√

w1,√w2, . . . ,

√wn), and a column vector B = CT ;

2: Compute the Cholesky factor S of the solution to the Lyapunov equation AP + PA∗ =−BB∗;

3: Compute the Cholesky factor L of the solution to the Lyapunov equation AQ + QA∗ =−CC∗;

4: Compute the singular value decomposition of LS∗ = UΣV ∗, where the singular valuesσi (i = 1, . . . , n) are also the Hankel singular values of the dynamic system with R asthe transfer function;

5: Find k such that 2∑n

i=k+1 σi ≤ ε;

6: Form an n × k matrix J whose nonzero entries are Jii = σ−1/2i , then form two matrices

Tl = L∗UJ and Tr = S∗V J ;7: Form a k × k matrix A = T ∗

l ATr , a column vector of length k B = T ∗l B , and a row

vector of length k C = CTr ;8: Compute the eigenvalue decomposition of A = XΛX−1 and set pi = Λii , i = 1, . . . , k;9: Compute B = X−1B , C = CX, and set wi = Bi Ci (i = 1, . . . , k).

3 The Bootstrap Algorithm

3.1 An Informal Description

We now consider our main problem, that is, given a function f ∈ H∞+ and a prescribed pre-cision ε, find a sum-of-poles approximation r(z) = ∑n

i=1wi

z−zisuch that |f (z) − r(z)| < ε

for all z ∈ C+. We observe that Algorithm 1 is fairly robust and can produce very accuratesum-of-poles approximations for a function on a finite interval [a, b] if the following condi-tions hold. First, the function being approximated is smooth on the interval [a, b]. Second,the number of poles needed in the approximation is small, say, less than 20. Third, a goodinitial guess for poles can be obtained by some means. However, none of the above threeconditions hold for a general function in H∞+ . And Algorithm 1 fails to converge due to theill-conditioning of the problem when we try to apply it to the given function on a very largeinterval on the imaginary axis.

Our bootstrap algorithm tries to find an accurate and efficient sum-of-poles approxi-mation to f in the following steps. First, we choose a large interval [A,B] = [a0, b0] onthe imaginary axis so that if |f (iy) − r(iy)| < ε for any y ∈ [A,B] and some sum-of-poles approximation r , then |f (z) − r(z)| < ε for all z ∈ C+. This is possible since bothf and r decay to zero as z → ∞. Second, we construct a sequence of nested intervals[ai, bi] (i = 0,1, . . . ,L) with [ai, bi] ⊂ [ai−1, bi−1] (i = 1, . . . ,L) so that the smallest in-terval [aL, bL] is centered around the singular point of f if any. Third, starting from thesmallest interval [aL, bL], we apply Algorithm 1 to find an accurate sum-of-poles approxi-mation ri to fi on [ai, bi] successively for i = L,L−1, . . . ,0; we initialize fL = f (f is theoriginal given function) and set fi = fi+1 − rn

i+1, where rni+1 is the near-pole part of ri+1. The

near-pole part of ri contains the contribution of poles that are close to the interval [ai, bi];this will be defined more rigorously later. Finally, we form r = ∑L

i=1 rni + r0 and r is an ac-

curate (but not necessarily efficient) sum-of-poles approximation to f ; we use Algorithm 2to reduce r to a more efficient approximation R without losing accuracy.

Page 7: A Bootstrap Method for Sum-of-Poles Approximations

22 J Sci Comput (2013) 55:16–39

Remark 2 When the function has multiple singular points on the imaginary axis, one needsto refine the interval around each singular point.

The third step in the above algorithm is the bootstrapping step, where we apply Algo-rithm 1 iteratively to find sum-of-poles approximation of fi on larger intervals [ai, bi]. Thefunction fi is formed by subtracting the near-pole contribution from f . The idea here is thatwe could either shrink the interval or modify the function to make it less ill-conditioned sothat Algorithm 1 can be applied successfully. And the function fi has similar structure withrespect to the interval [ai, bi] for all i = L, . . . ,0 in the sense that the integral

∫ bi

aifi(iy) dy

can be computed accurately using about the same number of nodes. We would like to pro-vide an intuitive explanation about why bootstrapping works. In the Fourier domain, boththe near poles and the far poles have contributions at low frequencies, but the high frequencycontribution comes mainly from the near poles. So it is clear that if we want to extract outthe poles successively, we should extract the near poles first. We now observe that the nearpoles are localized in the physical space, so the restriction to a smaller interval in the phys-ical space will retain all the essential information about the near poles. Therefore, if weconfine the approximation problem to a smaller interval, then only the poles near that inter-val matter and hence we need many fewer poles to approximate the given function. Hence,by restricting our attention to a smaller interval, we effectively mitigate the ill-conditioningof the problem and can extract the near poles accurately.

We now fill in some details of the algorithm.

3.2 Binary Tree Structure

To obtain a sequence of nested intervals [ai, bi] (i = 0, . . . ,L), we will first build a binarytree of intervals. We start from the root interval [a0, b0], and recursively subdivide eachinterval into two smaller intervals until some splitting criterion is no longer satisfied. We usestandard binary tree notation so that each node has a parent, left, and right child pointers,and a tree depth. Each node also contains the locations of its two end points a and b. Theroot interval is defined to have depth 0. In the construction, we record the maximal depth ofthe tree for later use. Our algorithm is as follows (Algorithm 3).

Once this binary tree is constructed, the sequence of nested subintervals is easily obtainedby starting from the leaf of maximal depth and traversing up to the root interval. We nowexplain our splitting criterion in detail.

3.3 Splitting Criterion

We first compute the K-term Chebyshev interpolant f (y) of f (iy) on the interval [a, b] asfollows. We translate and scale [a, b] to [−1,1] by

x = 2

b − a

(

y − b + a

2

)

.

Then

f (x) =K−1∑

k=0

αkTk(x).

Page 8: A Bootstrap Method for Sum-of-Poles Approximations

J Sci Comput (2013) 55:16–39 23

Algorithm 3 Recursive INSERT(t,p, a, b, f,maxdepth)

Comment: Construction of a binary tree of subintervals. t denotes the current node, p

denotes its parent, a and b are the end points of the interval, f is the function being ap-proximated, maxdepth is the maximal depth of the tree. Subroutine split(a,b,f) returnstrue if f satisfies the splitting criterion, false otherwise.

1: t.a = a2: t.b = b3: t.parent = p4: t.depth = t.parent.depth + 15: if maxdepth < t.depth then6: maxdepth = t.depth7: end if8: if split(a,b,f) then9: a1 = a

10: b1 = (a + b)/2.011: a2 = b112: b2 = b

13: Call INSERT(t.left,t,a1,b1,f,maxdepth)14: Call INSERT(t.right,t,a2,b2,f,maxdepth)15: end if16: End INSERT

Here, the Chebyshev coefficients αk are given by

α0 = 1

K

K∑

j=1

f (iτj ), αk = 2

K

K∑

j=1

f (iτj )Tk(τj ) for k ≥ 1,

where the classical Chebyshev nodes τj are given by

τj = cos(2K − 2j + 1)π

2Kfor j = 1, . . . ,K.

We then compute the following quantity

S = |αK−1| + |αK−2|∑K−2

k=0 |αk|.

We subdivide the interval [a, b] into two smaller intervals if S > δ where the constant δ � 1is provided by the user. This splitting mechanism guarantees that f (iy) can be approximatedby a low-degree polynomial in each subinterval, since αK−1 and αK−2 are the coefficientscorresponding to the high-frequency components and the magnitude of them are not rel-atively negligible when S > δ. This splitting criterion is already used in [24] to constructan adaptive mesh in developing a fast adaptive method for stiff two-point boundary valueproblems.

Remark 3 In practice, we set K = 20 and δ = 10−8. This works well for our testing exam-ples.

Page 9: A Bootstrap Method for Sum-of-Poles Approximations

24 J Sci Comput (2013) 55:16–39

Fig. 1 The curve C withinwhich the near poles lie

Remark 4 The above splitting criterion will sometimes cause excessive refinement aroundthe singular point such as a branch point when the function is too singular. In our actualimplementation, we have added a parameter which specifies the maximal number of re-finement, or the maximal depth of the tree to prevent such excessive refinement around thesingular point.

Remark 5 The use of Chebyshev polynomials is not essential. We may use Legendre poly-nomials or other orthogonal polynomials as the basis.

3.4 Near Pole Criterion

Suppose that in the iterative procedure we have computed a sum-of-poles approximationri(z) = ∑ki

j=1wj

z−pjfor fi(z) on the interval [ai, bi]. We then need to form a new function

fi−1 by subtracting the near pole contribution rni (z) from f and find a sum-of-poles ap-

proximation ri−1 for fi−1 on some larger interval [ai−1, bi−1]. Without loss of generality,we assume that [a, b] = [−1,1] (the general case can be treated by a simple translationand scaling). We define a near pole as follows. A pole pj is a near pole with respect tothe interval [−1,1] if it lies within the closed curve C where the curve C is defined byC = {z | ∫ 1

−11

|x−z|2 dx = c, z ∈ C}. We then have

rni (z) =

pj ∈NP

wj

z − pj

,

where NP = {pj | pj is a near pole, j = 1, . . . , ki}.

Remark 6 We set c = 12 in our numerical experiments. The curve C is very close to an

ellipse. For c = 12, it is close to the ellipse E = {(x, y) | x2

a2 + y2

b2 = 1, x, y ∈ R} wherea = 1.0801 and b = 0.2249. Also, since we carry out the approximation on the imaginaryaxis, the curve needs to be rotated by 90 degrees (see Fig. 1).

Remark 7 We have chosen the above curve C to define the near poles since any pole function1/(x − z) (here z is the pole location) with the pole located on the curve C has exactly thesame L2 norm with respect to the interval [−1,1]. This is quite natural since we are tryingto use the least squares minimization to find sum-of-poles approximations. Presumably, onecould replace the curve C by some other simpler ones such as an ellipse.

3.5 Some Issues Related with Algorithm 1

We need a good initial guess for Q (i.e., a good initial guess for the location of the poles)and the number of poles d in order for Algorithm 1 to work robustly. We revise Algorithm 1

Page 10: A Bootstrap Method for Sum-of-Poles Approximations

J Sci Comput (2013) 55:16–39 25

Algorithm 4 Revised nonlinear least squares method

Comment: Given f (iy) ∈ L2[a, b], return polynomials P , Q and a positive integer d withdeg(P ) + 1 = deg(Q) = d such that

∫ b

a| P(iy)

Q(iy)− f (iy)|2 dy is less than the desired pre-

cision ε.1: Set d = 1, TOL = ε

∫ b

a|f (iy)|2 dy, error = 10TOL.

2: Set the initial guess Q0(z) = z − ( b+a2 − i b−a

5 ).3: while error ≥ TOL do4: Apply Algorithm 1 with the initial guess Q = Q0 to find P , Q such that error =

∫ b

a| P(iy)

Q(iy)− f (iy)|2 dy is minimized, where P , Q are polynomials with deg (P ) +

1 = deg (Q) = d .5: d = d + 16: Set the initial guess Q0(z) = (z − 2zd−1)Q(z) where zd−1 is the farthest zero of

Q(z) to the interval [ia, ib].7: end while

by embedding it in an iterative procedure (see Algorithm 4) so that it can work without agood initial guess for Q and d .

Remark 8 We discretize the integral in each subinterval with the same number of quadraturenodes no matter how large the subinterval is. This is consistent with the assumption that thefunction after the bootstrap step on any subinterval can be well-approximated by a low-degree polynomial, as discussed in Sect. 3.3.

Remark 9 We need to represent P/Q as a sum of poles to find Q0(z) and to suit our applica-tion. Since we can compute P (z), Q(z), and Q′(z) accurately by the recurrence coefficientsresulting from Gram-Schmidt orthogonalization (6), the problem boils down to finding thecomplex zeros of a given polynomial (Q(z)). We use Muller’s method [35] to compute thezeros of Q(z). We choose Muller’s method because it is very robust for complex root findingand very insensitive to initial guesses.

We now summarize the entire method in Algorithm 5.

4 Numerical Experiments

We have implemented Algorithm 5 in Fortran 95 and some numerical experiments are shownbelow.

4.1 An Ad Hoc Example

Our first numerical example is an ad hoc one, namely, we try to approximate

f (z) = 71

z + 2 + 10i+ 12

z + 3 − 4i+ 230

z + 6 − 400i

+ −20 − 10i

z + 30 + 70i+ 1 − 2i

z + 200 + 500i+ 10

z + 1000 − 4000i, (7)

which is already a sum of six poles. However, we would like to emphasize that in our boot-strap code we have not used any information about f other than the value of the function

Page 11: A Bootstrap Method for Sum-of-Poles Approximations

26 J Sci Comput (2013) 55:16–39

Algorithm 5 Bootstrap method for sum-of-poles approximationComment: Given a function f ∈ H∞+ , find an efficient sum-of-poles approximation R(z) =

∑ wk

z−zkwithin the desired precision ε.

1: Choose a large interval [ia0, ib0] on the imaginary axis and set it as the root interval.2: Use Algorithm 3 to construct nested subintervals [iaj , ibj ] (j = 0,1, . . . ,maxdepth)

such that [iaj , ibj ] ⊂ [iaj−1, ibj−1] (j = 1, . . . ,maxdepth).3: Set fmaxdepth = f (z) and r(z) = 0.4: for j = maxdepth : −1 : 1 do5: Apply Algorithm 4 to obtain a rational approximation rj (z) for fj (z) on the inter-

val [iaj , ibj ].6: Use near-pole criterion (Sect. 3.4) to extract the near pole part of rj and denote it

by rnj .

7: Set fj−1(z) = fj (z) − rnj (z).

8: Set r(z) = r(z) + rnj (z).

9: end for10: Apply Algorithm 4 to obtain a rational approximation r0(z) for f0(z) on the root interval

[ia0, ib0].11: Set r(z) = r(z) + r0(z). r(z) is an accurate but inefficient rational approximation to

f (z).12: Apply Algorithm 2 to reduce r(z) to a more efficient rational approximation R(z).

Fig. 2 (a) The plot of the original function in the vicinity of two “singular points”. (b) A closeup of the“singular point” near the origin

on the imaginary axis. We plot the function in Fig. 2, which clearly shows that there aretwo clusters of peaks and troughs around −10i and 400i along the imaginary axis, respec-tively.

In this example, the computational domain [A,B] along the imaginary axis is chosen[−108i,108i] and the bound for tree depth maxdepth is set to 30. Obviously, the binary treestructure should be built around those two “singular” points for f (z) to be well-resolved.We plot the binary tree structure in the histogram-like graph in Fig. 3, where the x-axisrepresents the imaginary axis and the height indicates the depth of the subinterval. Figure 3

Page 12: A Bootstrap Method for Sum-of-Poles Approximations

J Sci Comput (2013) 55:16–39 27

Fig. 3 (a) Domain partition and subinterval depths of the tree in the vicinity of two “singular points” whichare shown in Fig. 2(a). (b) A closeup at the “singular point” near the origin which is shown in Fig. 2(b)

Fig. 4 Pole locations where the dots represent poles found in the bootstrap step and the crosses representpoles after the balanced truncation step

shows that dense partitions occur around the two “singular” points as expected and the depthof the entire tree is actually 27.

Next we plot the pole locations found by the bootstrap method in Fig. 4, where the dotsrepresent poles found in the bootstrap step and the crosses represent poles after the balancedtruncation step.

The bootstrap step found 58 poles in order to achieve the desired precision 10−12. Amongthese 58 poles, six of them are very close to the original poles in (7) and the rest 52 poles allhave very small weights. Setting the reduction error bound as 10−8, the balanced truncationstep successively reduced the number of poles to six and moved those six poles to theiroriginal positions within the prescribed precision. We list the pole locations and weightsfound by the bootstrap method, and their absolute errors as compared with the originalvalues in Table 1.

Page 13: A Bootstrap Method for Sum-of-Poles Approximations

28 J Sci Comput (2013) 55:16–39

Table 1 Pole locations and weights recovered by Algorithm 5

Pole location Absolute error of pole location

Pole 1 −1.9999999999998306 − 9.9999999999997016i 3.432D−13

Pole 2 −3.0000000000013589 + 4.0000000000008784i 5.993D+12

Pole 3 −6.0000000000005373 + 399.99999999999943i 7.822D−13

Pole 4 −30.000000000069846 − 69.999999999846338i 1.688D−10

Pole 5 −200.00000001195605 − 500.00000000509129i 1.299D−8

Pole 6 −999.99999999300542 + 4000.0000000054019i 8.838D−9

Pole weight Absolute error of pole weight

Pole 1 70.999999999993960 − 1.40690410710408997D−11i 1.531D−11

Pole 2 12.000000000013918 − 1.41815963269550926D−11i 1.987D−11

Pole 3 230.00000000001975 + 1.59899038454369702D−11i 2.541D−11

Pole 4 −20.000000000134609 − 9.9999999998676810i 1.888D−10

Pole 5 1.0000000001671803 − 2.0000000001507807i 2.251D−10

Pole 6 9.9999999999363958 + 1.19021320577061829D−11i 6.471D−11

4.2 Havriliak-Negami Dielectric Model

The Havriliak-Negami model is the most general material model that arises from consider-ations of the multi-scale nature of the spatial microstructure of a broad class of dielectrics.When a dielectric material is modeled by the Havriliak-Negami model, the induced polar-ization P is given by the convolution

P (x, t) =∫ t

0χ(t − τ)E(x, τ ) dτ,

where the susceptibility χ(t) is defined by the formula

χ(t) = �εL−1(

f (sτr))

with the function f defined by the formula

f (z) = 1

(1 + zα)β(8)

and τr the central relaxation time of the material. Note that the well-known Debye model isobtained by setting α = β = 1, while the Cole-Cole and Cole-Davidson models are obtainedby setting β = 1 and α = 1, respectively. We have used our bootstrap method to find the sum-of-poles approximation to the function f defined in (8). We present three cases below. Forall these cases the computational domain is chosen [−108i,108i] and the desired precisionfor bootstrap step and the error bound for reduction are set 10−12 and 10−8 respectively.

4.2.1 Cole-Cole Kernel

We set α = 0.6 and β = 1, which is a special case of the Cole-Cole model. This function hasa branch point at the origin and its graph is plotted in Fig. 5. The splitting procedure creates

Page 14: A Bootstrap Method for Sum-of-Poles Approximations

J Sci Comput (2013) 55:16–39 29

Fig. 5 (a) The real and imaginary parts of the Cole-Cole kernel with α = 0.6. (b) A closeup around the“singular point” at the origin

Fig. 6 (a) The pole locations of the Cole-Cole kernel with α = 0.6. (b) Error of the sum-of-pole representa-tion. (c) A closeup of the error curve near the origin

a tree structure with the depth of 50 to resolve the “singular point”. As shown in Fig. 6(a),a total of 268 poles are located by the algorithm before the reduction is implemented andthe maximum error 3.803 × 10−12 occurs near the origin. As the reduction error bound isset to 10−8, we are left with 72 poles yielding an approximation of the original Cole-Colekernel with the maximum absolute error about 5.016 × 10−9. The error curve is plotted inFigs. 6(b) and 6(c).

4.2.2 Cole-Davidson Kernel

We set α = 1 and β = 0.7. The corresponding Cole-Davidson kernel is plotted in Fig. 7.For this example, a tree with depth of 22 is constructed in partitioning the computationaldomain [−108i,108i]. As shown in Fig. 8(a), a total of 145 poles are located by the algorithmwithout the reduction and the maximum absolute error is approximately 2.373 × 10−13 in[−108i,108i]. After reduction with the reduction error bound set as 10−8, 31 poles can givean approximation of the original Cole-Davidson kernel with the maximum absolute errorabout 9.832 × 10−9. The error along the imaginary axis is shown in Figs. 8(b) and 8(c).

Page 15: A Bootstrap Method for Sum-of-Poles Approximations

30 J Sci Comput (2013) 55:16–39

Fig. 7 (a) The real and imaginary parts of the Cole-Davidson kernel with β = 0.7. (b) A closeup around the“singular point” at the origin

Fig. 8 (a) The pole locations of the Cole-Davidson kernel with β = 0.7. (b) Error of the sum-of-pole repre-sentation. (c) A closeup of the error curve near the origin

4.2.3 A General Havriliak-Negami Kernel

We choose α = 0.85 and β = 0.5, the corresponding Havriliak-Negami kernel is plotted inFig. 9. The domain [−108i,108i] is partitioned using a 45-level tree. As shown in Fig. 10(a),a total of 244 poles are located by the algorithm before the reduction step giving the maxi-mum absolute error along the whole imaginary axis no larger than 1.16 × 10−10 and whenthe reduction error bound is set 10−8, 63 poles are left to approximate the original Havriliak-Negamin kernel with a maximum absolute error about 8.359×10−9. The locations andweights of these 63 poles are listed in Table 2. The error along the imaginary axis is shownin Figs. 10(b) and 10(c).

4.3 Schrödinger Kernels

The initial-value problem for the Schrödinger equation in two and three dimensions un-bounded domains is as follow:

{

iut (x, t) = �u(x, t) + V (x, t)u(x, t), x ∈ Rn (n = 2,3), t > 0,

u(x,0) = u0(x).

Page 16: A Bootstrap Method for Sum-of-Poles Approximations

J Sci Comput (2013) 55:16–39 31

Tabl

e2

Pole

loca

tions

and

wei

ghts

for

the

gene

ralH

avri

liak-

Neg

amik

erne

lwith

α=

0.85

and

β=

0.5

Pole

loca

tion

Pole

wei

ght

−1.6

2616

9697

2532

313D

−08

−1.

8999

2569

5178

9423

D−1

1i6.

6897

0672

8976

2098

D−1

6+

1.38

8011

1508

5980

38D

−18i

−1.1

3008

8906

8780

398D

−07

−1.

1743

7841

6346

2279

D−1

0i1.

6629

6952

5892

8394

D−1

4+

3.11

9992

8216

2743

63D

−17i

−4.8

8642

6159

4253

980D

−07

−4.

8165

6049

7465

5016

D−1

0i2.

0227

1442

0185

8987

D−1

3+

3.62

9962

3936

2373

31D

−16i

−1.6

7001

3817

5527

535D

−06

−1.

5945

7809

5145

6406

D−0

9i1.

6981

8307

9354

9590

D−1

2+

2.96

2224

2797

0745

12D

−15i

−4.9

2610

1658

5204

196D

−06

−4.

5949

1406

3853

5438

D−0

9i1.

1235

6685

2912

5787

D−1

1+

1.91

7268

0507

7925

85D

−14i

−1.3

1030

7639

8079

006D

−05

−1.

1984

1861

6400

5556

D−0

8i6.

2712

2754

2144

5702

D−1

1+

1.04

9873

0190

5036

55D

−13i

−3.2

2434

1866

8661

069D

−05

−2.

8976

2320

9691

5848

D−0

8i3.

0751

7391

7528

3097

D−1

0+

5.05

9315

4224

1458

67D

−13i

−7.4

6213

5706

3370

884D

−05

−6.

5972

0423

4686

6275

D−0

8i1.

3604

4891

9006

0119

D−0

9+

2.20

2010

5040

3979

59D

−12i

−1.6

4274

4076

0095

413D

−04

−1.

4300

1372

4161

8604

D−0

7i5.

5315

2405

5566

6790

D−0

9+

8.81

6635

0643

3592

32D

−12i

−3.4

6839

2912

3846

449D

−04

−2.

9751

3678

7743

8528

D−0

7i2.

0954

1208

9975

1043

D−0

8+

3.29

2320

4791

1086

45D

−11i

−7.0

6671

1080

6289

140D

−04

−5.

9799

8739

2497

5297

D−0

7i7.

4727

9934

7018

6633

D−0

8+

1.15

9929

5440

1969

37D

−10i

−1.3

9607

5815

8578

317D

−03

−1.

1684

4767

8190

5981

D−0

6i2.

5298

2867

5246

7625

D−0

7+

3.89

6670

4457

5649

65D

−10i

−2.6

8436

9150

8191

248D

−03

−2.

2296

0249

9130

4160

D−0

6i8.

1862

8374

0786

1228

D−0

7+

1.25

6469

0820

9890

25D

−09i

−5.0

3892

4191

4238

631D

−03

−4.

1659

5688

9418

6327

D−0

6i2.

5473

7662

2371

3008

D−0

6+

3.91

2847

6855

8400

82D

−09i

−9.2

5711

4026

6795

963D

−03

−7.

6459

1235

6693

4399

D−0

6i7.

6659

8412

9789

7001

D−0

6+

1.18

6373

8245

2573

84D

−08i

−1.6

6781

4702

8053

463D

−02

−1.

3833

0599

1125

0092

D−0

5i2.

2439

7245

1142

8661

D−0

5+

3.53

3470

8633

6531

30D

−08i

−2.9

5185

3703

8991

904D

−02

−2.

4761

4352

6229

8923

D−0

5i6.

4306

6101

3841

7278

D−0

5+

1.04

4720

5980

6453

25D

−07i

−5.1

3958

2533

1164

713D

−02

−4.

4022

6840

4837

4245

D−0

5i1.

8187

0943

3024

4155

D−0

4+

3.10

8025

2968

2944

63D

−07i

−8.8

1315

8815

7783

783D

−02

−7.

8072

3172

9571

4138

D−0

5i5.

1311

6930

5924

7405

D−0

4+

9.47

8323

8621

6813

45D

−07i

−1.4

8943

4160

0686

228D

−01

−1.

3875

9038

0476

5939

D−0

4i1.

4664

1170

5128

1927

D−0

3+

3.03

8233

9685

1434

50D

−06i

−2.4

8065

0436

1279

491D

−01

−2.

4781

1717

1664

9629

D−0

4i4.

3383

5265

1922

6419

D−0

3+

1.05

4824

2864

1461

38D

−05i

−4.0

6231

1563

8930

218D

−01

−4.

4205

8116

2748

3704

D−0

4i1.

3617

4908

5164

7717

D−0

2+

4.03

8054

8269

9183

81D

−05i

−6.4

8556

2638

6495

790D

−01

−7.

6478

7918

6656

2486

D−0

4i4.

4394

8862

9982

6915

D−0

2+

1.52

4098

1957

1566

81D

−04i

−9.9

6659

8257

6319

812D

−01

−1.

2818

9168

2185

2489

D−0

3i1.

1861

7363

3652

6271

D−0

1+

3.45

2310

9251

5345

15D

−04i

Page 17: A Bootstrap Method for Sum-of-Poles Approximations

32 J Sci Comput (2013) 55:16–39

Tabl

e2

(Con

tinu

ed)

Pole

loca

tion

Pole

wei

ght

−1.5

0863

2095

0932

210D

+00

−2.

3941

0485

6365

1153

D−0

3i2.

0117

9355

2524

0377

D−0

1+

4.23

2052

4081

9791

75D

−04i

−2.3

1660

6481

5528

311D

+00

−4.

7833

3557

0151

9878

D−0

3i2.

6315

7697

5882

6557

D−0

1+

5.86

9046

8152

3108

53D

−04i

−3.5

9344

7256

0408

786D

+00

−9.

7351

9255

3361

9085

D−0

3i3.

2616

8814

0641

4056

D−0

1+

9.58

6037

6006

0629

71D

−04i

−5.5

9073

8146

1331

367D

+00

−1.

9820

8260

2047

1881

D−0

2i4.

0406

7328

6721

9969

D−0

1+

1.55

1701

5807

2884

04D

−03i

−8.7

0114

5988

3731

810D

+00

−3.

9138

2140

0084

3233

D−0

2i5.

0746

7884

1516

7465

D−0

1+

2.26

3367

1538

0022

61D

−03i

−1.3

6415

8869

7896

250D

+01

−7.

2933

6304

4289

7940

D−0

2i6.

6820

3136

0038

1864

D−0

1+

3.01

0990

2439

4215

50D

−03i

−1.6

1336

8618

5553

014D

+01

+1.

0685

7536

4961

8807

D+0

1i−3

.622

2235

2859

4973

3D−0

5−

5.84

5400

8674

9828

93D

−04i

−1.6

1780

2848

9501

759D

+01

−1.

0913

6650

4227

0843

D+0

1i−1

.044

6941

5019

0389

4D−0

4+

6.17

4335

8252

7393

64D

−04i

−2.1

8226

3194

1322

708D

+01

−1.

2642

9083

0609

1988

D−0

1i8.

7593

8018

3705

3753

D−0

1+

2.36

6484

9836

5125

67D

−03i

−3.4

3594

0727

2853

410D

+01

−1.

6748

5877

1861

4427

D−0

1i1.

0882

7755

9427

0357

D+0

0−

2.80

9391

8520

6070

93D

−04i

−5.4

8353

8280

2050

411D

+01

−1.

8845

9196

4503

6846

D−0

1i1.

5264

7068

2552

5312

D+0

0−

1.47

7476

7158

3599

09D

−03i

−9.0

7334

5003

3757

620D

+01

−1.

9882

2935

9687

5697

D−0

1i2.

1571

4561

2424

9995

D+0

0−

1.69

6629

1182

7370

43D

−03i

−1.5

3509

2073

3688

409D

+02

−2.

0447

3102

4282

3555

D−0

1i2.

9942

6346

1521

1059

D+0

0−

1.57

3384

1495

5807

70D

−03i

−2.6

2465

3653

0109

870D

+02

−2.

0608

2390

4905

8014

D−0

1i4.

1226

9984

7986

3894

D+0

0−

1.41

5304

7650

8608

44D

−03i

−4.5

1218

1759

2326

937D

+02

−2.

0103

4775

9848

9414

D−0

1i5.

6673

8008

1233

8850

D+0

0−

1.31

0207

9283

3907

19D

−03i

−7.7

8675

2632

1154

230D

+02

−1.

8303

6694

0536

7085

D−0

1i7.

8001

0772

9160

8576

D+0

0−

1.29

3641

3510

7399

51D

−03i

−1.3

4849

6932

5476

870D

+03

−1.

3909

9616

7897

5272

D−0

1i1.

0760

4345

7527

8932

D+0

1−

1.40

0437

7500

7900

20D

−03i

−2.3

4397

0996

7117

033D

+03

−4.

2806

0231

7383

0199

D−0

2i1.

4886

4323

9672

4814

D+0

1−

1.68

4441

8215

0391

44D

−03i

−4.0

9091

9465

0381

337D

+03

+1.

5972

6604

8054

3979

D−0

1i2.

0658

8944

7333

8933

D+0

1−

2.23

5796

8104

0191

39D

−03i

−7.1

7190

9183

7689

302D

+03

+5.

7920

1246

9204

5927

D−0

1i2.

8765

5258

2817

1583

D+0

1−

3.20

7534

3150

6183

57D

−03i

−1.2

6350

3122

6523

284D

+04

+1.

4454

7592

7987

6250

D+0

0i4.

0195

0213

0368

8137

D+0

1−

4.86

1202

3480

5276

22D

−03i

−2.2

3783

1241

3209

926D

+04

+3.

2415

6713

3542

5160

D+0

0i5.

6375

9183

8815

5682

D+0

1−

7.64

6603

3281

0661

57D

−03i

−3.9

8628

8451

3371

617D

+04

+6.

9977

3144

5100

9942

D+0

0i7.

9382

8253

5148

8549

D+0

1−

1.23

5755

3867

5788

27D

−02i

−7.1

4466

2202

0228

024D

+04

+1.

4952

3888

4891

0227

D+0

1i1.

1224

4534

3380

2145

D+0

2−

2.04

2268

2151

8456

45D

−02i

Page 18: A Bootstrap Method for Sum-of-Poles Approximations

J Sci Comput (2013) 55:16–39 33

Tabl

e2

(Con

tinu

ed)

Pole

loca

tion

Pole

wei

ght

−1.2

8898

8881

0532

542D

+05

+3.

2070

8830

4062

2348

D+0

1i1.

5940

7103

9738

0926

D+0

2−

3.44

6844

6948

4817

24D

−02i

−2.3

4183

7971

6940

189D

+05

+6.

9632

2414

0406

7031

D+0

1i2.

2743

4040

4975

7117

D+0

2−

5.94

5835

0912

1491

20D

−02i

−4.2

8641

1581

5454

989D

+05

+1.

5395

5855

6340

4657

D+0

2i3.

2607

1326

3810

5196

D+0

2−

1.05

0342

0990

7918

42D

−01i

−7.9

0774

8469

4106

120D

+05

+3.

4830

6441

3856

8164

D+0

2i4.

6987

7215

8731

8026

D+0

2−

1.90

4633

4754

8584

99D

−01i

−1.4

7105

6279

4020

737D

+06

+8.

0964

9228

2499

9849

D+0

2i6.

8073

2791

6365

3638

D+0

2−

3.55

2265

9070

7034

44D

−01i

−2.7

6071

8270

3318

312D

+06

+1.

9402

7127

6274

9891

D+0

3i9.

9174

7365

2480

9589

D+0

2−

6.82

3112

6076

4938

64D

−01i

−5.2

2929

3856

1918

428D

+06

+4.

8069

0842

3654

7669

D+0

3i1.

4534

8187

8146

9660

D+0

3−

1.35

1944

0316

5681

12D

+00i

−1.0

0040

1038

9507

411D

+07

+1.

2354

9073

3655

0530

D+0

4i2.

1447

2751

0646

1311

D+0

3−

2.78

1536

3296

9356

89D

+00i

−1.9

3583

0166

8143

917D

+07

+3.

3353

7003

1264

7830

D+0

4i3.

1972

9480

0363

5311

D+0

3−

6.16

3406

3642

6899

91D

+00i

−3.8

1308

0664

4445

576D

+07

+1.

0148

5786

6915

3416

D+0

5i4.

9082

2215

9757

4644

D+0

3−

1.80

5920

3309

2332

54D

+01i

−8.1

1515

2917

9336

846D

+07

+7.

6590

8914

8227

4735

D+0

5i1.

0428

5397

0996

5567

D+0

4−

4.54

0531

3294

6972

77D

+02i

−1.2

5710

9909

4916

432D

+08

−2.

2373

7157

8447

6224

D+0

7i3.

3486

4872

7698

4317

D+0

3−

7.75

2930

2508

4480

54D

+03i

−1.2

6547

9667

6183

879D

+08

+2.

0133

5548

1560

2448

D+0

7i4.

7521

6469

3336

1490

D+0

3+

8.24

3573

2619

7445

40D

+03i

−4.1

0562

7525

4191

780D

+08

−5.

1492

9456

8769

5428

D+0

4i3.

7810

9344

5317

5905

D+0

4−

7.43

4354

1700

8744

00D

+00i

−4.1

3231

3151

0750

036D

+09

+4.

6987

8326

8954

0635

D+0

5i4.

6500

3985

2770

5751

D+0

5−

4.21

1062

6579

1241

87D

+01i

Page 19: A Bootstrap Method for Sum-of-Poles Approximations

34 J Sci Comput (2013) 55:16–39

Fig. 9 (a) The real and imaginary parts of the Havriliak-Negami kernel with α = 0.85 and β = 0.5.(b) A closeup around the “singular point” at the origin

Fig. 10 (a) The pole locations of the Havriliak-Negami kernel with α = 0.85 and β = 0.5. (b) Error of thesum-of-pole representation. (c) A closeup of the error curve near the origin

If we represent the solution of the above problem by a Fourier series in two dimensions anda spherical harmonic series in three dimensions, then the nonreflecting boundary condition(for details please see, for example, [21, 22]) for each mode contains a convolution integralwhose kernel is given by

K(t) = L−1

[ √isK ′

ν(√

is)

(s − sν)Kν(√

is)

]

(t),

where Kν is the modified Bessel function [1] and ν of integer values and ν of half integervalues correspond to two dimensions and three dimensions, respectively. The exact value ofsν is not essential and will not affect the performance of the nonreflecting boundary condi-tions, provided that it does not coincide with the zeros of Kν(

√is) and does not introduce

new “singular” point rather than the existing turning point iν2. In our numerical experiments,we have used the following value of sν

sν = iν2 − ν43 .

As discussed in the introduction, in order to be able to implement the nonreflectingboundary conditions for the Schrödinger equations efficiently and accurately, one needs to

Page 20: A Bootstrap Method for Sum-of-Poles Approximations

J Sci Comput (2013) 55:16–39 35

Fig. 11 (a) The real and imaginary parts of the kernel f40(s) are plotted respectively. (b) A closeup at the“singular” point

Fig. 12 Numbers of poles for approximating fν(s) on the interval [−108i,108i] with the errorε = 10−9. (a) Numbers of poles for ν = 1,2, . . . ,1024 before pole reduction. (b) Numbers of poles forν = 1,2, . . . ,1024 after reduction using the balanced truncation method of Algorithm 2

find an efficient and accurate sum-of-poles approximation for the following functions

fν(s) =√

isK ′ν(

√is)

(s − sν)Kν(√

is), ν =

{

0,1, . . . ,1024 for 2D12 ,1 + 1

2 , . . . ,1024 + 12 for 3D.

These functions fν(s) have similar graphs on the imaginary axis and the graph of f40 onthe imaginary axis is shown in Fig. 11.

We have used our bootstrap method to find the sum-of-poles approximations for thesefunctions. Since these functions decay rather slowly (like 1/

√s), we set the root interval

to a very large interval, i.e., [−108i,108i]. The desired precision for the bootstrap step andthe error bound for reduction are 10−12 and 10−9, respectively. The maximal depth of thebinary tree is set to 27 for all ν. Figure 12 plots the number of poles versus the kernel indexν before and after the pole reduction using the balanced truncation method of Algorithm 2.In summary, the average number of poles needed to achieve 9-digit accuracy for all kernels

Page 21: A Bootstrap Method for Sum-of-Poles Approximations

36 J Sci Comput (2013) 55:16–39

Tabl

e3

Pole

loca

tions

and

wei

ghts

forν

=40

Pole

loca

tion

Pole

wei

ght

−1.3

6798

0610

0099

026D

+02

+1.

5999

9903

8650

4376

D+0

3i−3

.184

9616

5577

1386

7D−0

1−

7.16

9846

0382

3981

90D

+00i

−3.8

4467

5596

2630

084D

+02

+1.

3169

8095

0218

9084

D+0

3i−3

.915

0782

5196

5792

5D+0

0−

6.29

5207

8325

7349

86D

+00i

−5.6

4281

3650

2340

499D

+02

+1.

1357

4555

8433

4505

D+0

3i−2

.311

3843

5653

8141

6D+0

0−

1.09

4855

9612

4623

01D

+00i

−9.5

5856

6799

9565

669D

+02

+1.

1602

0729

8696

7814

D+0

3i−5

.617

9935

0855

3943

2D+0

0−

3.09

7416

9617

5356

30D

+00i

−1.7

5749

2011

2533

832D

+03

+1.

1567

9036

0623

3506

D+0

3i−6

.922

8247

9053

0882

0D+0

0−

5.25

5821

3606

6010

27D

+00i

−3.2

5578

1132

1442

528D

+03

+1.

1472

1196

6365

3730

D+0

3i−8

.815

0867

4882

8781

2D+0

0−

7.66

5982

2135

5456

65D

+00i

−6.0

6983

8424

8048

515D

+03

+1.

1354

7880

4479

3968

D+0

3i−1

.161

9261

5039

2136

5D+0

1−

1.07

9647

3887

3852

95D

+01i

−1.1

3931

8591

8857

180D

+04

+1.

1223

9155

8099

4021

D+0

3i−1

.569

1042

7699

6415

2D+0

1−

1.50

8943

5373

0877

08D

+01i

−2.1

5478

8827

0464

267D

+04

+1.

1073

0387

8941

9918

D+0

3i−2

.154

2757

9150

1036

6D+0

1−

2.11

0018

7383

7028

56D

+01i

−4.1

1010

7494

6101

922D

+04

+1.

0880

4278

3110

4066

D+0

3i−2

.993

3919

1764

3195

7D+0

1−

2.96

1098

1849

2953

39D

+01i

−7.9

1424

5646

4328

105D

+04

+1.

0593

9066

4977

3116

D+0

3i−4

.199

4536

8225

7216

5D+0

1−

4.17

6590

2316

7158

24D

+01i

−1.5

3995

1385

5957

030D

+05

+1.

0088

4870

6816

6596

D+0

3i−5

.941

4872

8735

2477

9D+0

1−

5.92

6611

3226

2150

62D

+01i

−3.0

3106

0551

3654

469D

+05

+9.

0544

8707

3445

5640

D+0

2i−8

.474

2190

7997

7291

4D+0

1−

8.46

7025

5658

6490

83D

+01i

−6.0

4143

9440

8523

501D

+05

+6.

6896

9424

3445

8185

D+0

2i−1

.218

4853

1398

9557

6D+0

2−

1.21

8668

6670

4569

19D

+02i

−1.2

2076

7104

8801

406D

+06

+7.

9717

7995

2568

6075

D+0

1i−1

.766

7263

6818

6018

6D+0

2−

1.76

8260

5247

3469

36D

+02i

−2.5

0364

9505

3363

717D

+06

−1.

5066

8432

2251

8185

D+0

3i−2

.583

9749

2535

7125

6D+0

2−

2.58

8021

9386

9627

62D

+02i

−5.2

1733

9028

8080

219D

+06

−6.

1397

0672

8063

0727

D+0

3i−3

.812

9084

1501

0744

5D+0

2−

3 .82

2454

9021

8275

39D

+02i

−1.1

0570

9785

0383

533D

+07

−2.

0942

1550

4291

5379

D+0

4i−5

.674

0066

1913

7369

4D+0

2−

5.69

7085

8762

5032

58D

+02i

−2.3

8317

9267

2948

387D

+07

−7.

2909

6044

0499

8143

D+0

4i−8

.495

6547

2433

7293

8D+0

2−

8.55

4985

2807

1027

86D

+02i

−5.2

0992

0038

6209

391D

+07

−2.

7135

1287

6760

4678

D+0

5i−1

.270

3616

2294

6441

9D+0

3−

1.28

6445

6917

1638

32D

+03i

−1.1

4497

6831

6870

768D

+08

−1.

0520

4921

5002

0560

D+0

6i−1

.872

9600

9570

0423

4D+0

3−

1.91

4829

7253

9539

72D

+03i

−2.5

4685

9626

0458

374D

+08

−3.

7025

3243

6321

6721

D+0

6i−2

.979

1099

3022

9629

3D+0

3−

3.05

6539

8404

8433

59D

+03i

−6.9

9975

6894

1479

504D

+08

−1.

2154

7582

3820

7720

D+0

7i−7

.645

4464

2577

3514

4D+0

3−

7.79

4252

1703

5950

30D

+03i

−6.1

0499

6683

2967

319D

+09

−1.

0992

2072

6981

6059

D+0

8i−6

.938

6301

8483

6886

5D+0

4−

7.06

5668

2349

7761

51D

+04i

Page 22: A Bootstrap Method for Sum-of-Poles Approximations

J Sci Comput (2013) 55:16–39 37

Fig. 13 (a) The pole locations for approximating the kernel f40(s) before and after reduction and a logarith-mic scale (base 10) is used for the X-axis. (b) The error when approximates the kernel f40(s) with 24 polesand logarithmic scale (base 10) is used for the Y -axis

is 25 with the standard deviation roughly equal to 2 after the balanced truncation reduction,while they are 76 and 12 respectively before the reduction. The pole locations generallyfollow a nice trajectory. Figure 13(a) shows the locations of the 109 poles obtained by boot-strap step and the 24 poles after reduction for approximating the kernel f40(s). The exactlocations and weights of the 24 poles obtained after reduction are listed in Table 3. Finally,Fig. 13(b) shows the absolute error of the sum-of-poles approximation for f40 on the imag-inary axis. We observe that the largest error occurs around the turning point iν2, where thefunction changes most rapidly. We would like to remark here that these figures are fairlyrepresentative for this class of functions.

5 Conclusions

We have presented a bootstrap method for finding efficient sum-of-poles approximations forcausal functions. Our method is based on the nonlinear least squares method in [5]. Due toits bootstrapping nature, this method can handle such approximation problems on a muchlarger interval and those with multiple “singular” points. It is believed that the algorithmreported in this paper is more robust since it removes the dependence of a good initial guesson pole locations. Our method also generates very efficient sum-of-poles approximationssince we have applied the balanced truncation method to reduce the number of poles in thefinal optimization step. We expect that the method can be applied to obtain efficient sum-of-poles approximations for a broad class of causal functions in various areas, includingcontrol theory, computational electromagnetics, and nonreflecting boundary conditions forother PDEs.

Acknowledgements S. Jiang was supported in part by National Science Foundation under grant CCF-0905395 and would like to thank Dr. Bradley Alpert at National Institute of Standards and Technology formany useful discussions on this project. Both authors would like to thank the anonymous referees for theircareful reading and very useful suggestions which have greatly enhanced the presentation of the work.

Page 23: A Bootstrap Method for Sum-of-Poles Approximations

38 J Sci Comput (2013) 55:16–39

References

1. Abramowitz, M., Stegun, I.: Handbook of Mathematical Functions. Dover, New York (1965)2. Adamyan, V.M., Arov, D.Z., Krein, M.G.: Infinite Hankel matrices and generalized Carathéodory-Fejér

and I. Schur problems. Funct. Anal. Appl. 2, 269–281 (1968)3. Adamyan, V.M., Arov, D.Z., Krein, M.G.: Infinite Hankel matrices and generalized problems of

Carathéodory-Fejér and Riesz problems. Funct. Anal. Appl. 2(1), 1–18 (1968)4. Adamyan, V.M., Arov, D.Z., Krein, M.G.: Analytic properties of the Schmidt pairs of a Hankel operator

and the generalized Schur-Takagi problem. Mat. Sb. 86, 34–75 (1971)5. Alpert, B., Greengard, L., Hagstrom, T.: Rapid evaluation of nonreflecting boundary kernels for time-

domain wave propagation. SIAM J. Numer. Anal. 37, 1138–1164 (2000)6. Alpert, B., Greengard, L., Hagstrom, T.: Nonreflecting boundary conditions for the time-dependent wave

equation. J. Comput. Phys. 180, 270–296 (2002)7. Antoine, X., Arnold, A., Besse, C., Ehrhardt, M., Schädle, A.: A review of transparent and artificial

boundary conditions techniques for linear and nonlinear Schrödinger equations. Commun. Comput.Phys. 4, 729–796 (2008)

8. Beylkin, G., Monzón, L.: On approximation of functions by exponential sums. Appl. Comput. Harmon.Anal. 19, 17–48 (2005)

9. Beylkin, G., Monzón, L.: On generalized Gaussian quadratures for exponentials and their applications.Appl. Comput. Harmon. Anal. 12, 332–373 (2002)

10. Bremer, J., Gimbutas, Z., Rokhlin, V.: A nonlinear optimization procedure for generalized Gaussianquadratures. SIAM J. Sci. Comput. 32, 1761–1788 (2010)

11. Causley, M., Petropolous, P., Jiang, S.: Incorporating the Havriliak-Negami dielectric model in numericalsolutions of the time-domain Maxwell equations. J. Comput. Phys. 230, 3884–3899 (2011)

12. Dym, H., McKean, H.P.: Fourier Series and Integrals. Academic Press, San Diego (1972)13. Glover, K.: All optimal Hankel-norm approximations of linear multivariable systems and their L∞-error

bounds. Int. J. Control 39, 1115–1193 (1984)14. Gutknecht, M.H., Trefethen, L.N.: Real and complex Chebyshev approximation on the unit disk and

interval. Bull., New Ser., Am. Math. Soc. 8, 455–458 (1983)15. Gutknecht, M.H., Smith, J.O., Trefethen, L.N.: The Carathéodory-Fejér (CF) method for recursive digital

filter design. IEEE Trans. Acoust. Speech Signal Process. 31, 1417–1426 (1983)16. Gutknecht, M.H.: Rational Carathéodory-Fejér approximation on a disk, a circle, and an interval. J. Ap-

prox. Theory 41, 257–278 (1984)17. Hagstrom, T.: Radiation boundary conditions for the numerical simulation of waves. Acta Numer. 8,

47–106 (1999)18. Hammarling, S.: Numerical solution of the stable, non-negative definite Lyapunov equation. IMA J. Nu-

mer. Anal. 2, 303–323 (1982)19. Hardy, G.H.: On the mean value of the modulus of an analytic function. Proc. Lond. Math. Soc. s2_14,

269–277 (1915)20. Jackson, J.D.: Classical Electrodynamics. Wiley, New York (1998)21. Jiang, S.: Fast evaluation of the nonreflecting boundary conditions for the Schrödinger equation. Ph.D.

thesis, Courant Institute of Mathematical Sciences, New York University, New York (2001)22. Jiang, S., Greengard, L.: Efficient representation of nonreflecting boundary conditions for the time-

dependent Schrödinger equation in two dimensions. Commun. Pure Appl. Math. 61, 261–288 (2008)23. Laub, A., Heath, M., Paige, C., Ward, R.: Computation of system balancing transformations and other ap-

plications of simultaneous diagonalization algorithms. IEEE Trans. Autom. Control 32, 115–122 (1987)24. Lee, J., Greengard, L.: A fast adaptive numerical method for stiff two-point boundary value problems.

SIAM J. Sci. Comput. 18, 403–429 (1997)25. Li, J.R.: Low order approximation of the spherical nonreflecting boundary kernel for the wave equation.

Linear Algebra Appl. 415, 455–468 (2006)26. Li, J.R.: A fast time stepping method for evaluating fractional integrals. SIAM J. Sci. Comput. 31, 4696–

4714 (2010)27. Lin, L., Lu, J., Ying, L., E, W.: Pole-based approximation of the Fermi-Dirac function. Chin. Ann. Math.,

Ser. B 30, 729–742 (2009)28. López-Fernández, M., Palencia, C.: On the numerical inversion of the Laplace transform of certain holo-

morphic mappings. Appl. Numer. Math. 51, 289–303 (2004)29. López-Fernández, M., Palencia, C., Schädle, A.: A spectral order method for inverting sectorial Laplace

transforms. SIAM J. Numer. Anal. 44, 1332–1350 (2006)30. López-Fernández, M., Lubich, C., Schädle, A.: Adaptive, fast, and oblivious convolution in evolution

equations with memory. SIAM J. Sci. Comput. 30, 1015–1037 (2008)31. Lubich, C.: Convolution quadrature revisited. BIT Numer. Math. 44, 503–514 (2004)

Page 24: A Bootstrap Method for Sum-of-Poles Approximations

J Sci Comput (2013) 55:16–39 39

32. Lubich, C., Schädle, A.: Fast convolution for nonreflecting boundary conditions. SIAM J. Sci. Comput.24, 161–182 (2002)

33. Ma, J., Rokhlin, V., Wandzura, S.: Generalized Gaussian quadrature rules for systems of arbitrary func-tions. SIAM J. Numer. Anal. 33, 971–996 (1996)

34. Moore, B.: Principal component analysis in linear systems: controllability, observability, and model re-duction. IEEE Trans. Autom. Control 26, 17–32 (1981)

35. Muller, D.: A method for solving algebraic equations using an automatic computer. Math. Tables OtherAids Comput. 10, 208–215 (1956)

36. Peller, V.V.: Hankel Operators and Their Applications. Springer Monographs in Mathematics. Springer,New York (2003)

37. Penzl, T.: Algorithms for model reduction of large dynamical systems. Linear Algebra Appl. 415, 322–343 (2006)

38. Penzl, T.: Numerical solution of generalized Lyapunov equations. Adv. Comput. Math. 8, 33–48 (1998)39. Powell, M.J.D.: Approximation Theory and Methods. Cambridge University Press, Cambridge (1981)40. Rudin, W.: Real and Complex Analysis. McGraw-Hill, New York (1987)41. Safonov, M.G., Chiang, R.Y.: A Schur method for balanced-truncation model reduction. IEEE Trans.

Autom. Control 34, 729–733 (1989)42. Schädle, A., López-Fernández, M., Lubich, C.: Fast and oblivious convolution quadrature. SIAM J. Sci.

Comput. 28, 421–438 (2006)43. Sontag, E.D.: Mathematical Control Theory: Deterministic Finite Dimensional Systems. Springer, New

York (1998)44. Trefethen, L.N.: Rational Chebyshev approximation on the unit disk. Numer. Math. 37, 297–320 (1981)45. Trefethen, L.N.: Chebyshev approximation on the unit disk. In: Werner, K.E., Wuytack, L., Ng, E. (eds.)

Computational Aspects of Complex Analysis, pp. 309–323. D. Reidel Publishing, Dordrecht (1983)46. Trefethen, L.N., Gutknecht, M.H.: The Carathéodory-Fejér method for real rational approximation.

SIAM J. Numer. Anal. 20, 420–436 (1983)47. Trefethen, L.N., Weideman, J., Schmelzer, T.: Talbot quadratures and rational approximations. BIT Nu-

mer. Math. 46, 653–670 (2006)48. Yarvin, N., Rokhlin, V.: Generalized Gaussian quadratures and singular value decompositions of integral

operators. SIAM J. Sci. Comput. 20, 699–718 (1998)