Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
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]
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,
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.
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)
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].
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.
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).
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.
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
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
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
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.
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
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).
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).
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
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
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
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
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
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
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.
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)
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)