ABSOLUTE VALUE PRECONDITIONING FOR SYMMETRIC

SIAM J. SCI. COMPUT.
Vol. 35, No. 2, pp. A696–A718
c 2013 Society for Industrial and Applied Mathematics
ABSOLUTE VALUE PRECONDITIONING FOR SYMMETRIC
INDEFINITE LINEAR SYSTEMS∗
EUGENE VECHARYNSKI† AND ANDREW V. KNYAZEV‡
Abstract. We introduce a novel strategy for constructing symmetric positive definite (SPD)
preconditioners for linear systems with symmetric indefinite matrices. The strategy, called absolute
value preconditioning, is motivated by the observation that the preconditioned minimal residual
method with the inverse of the absolute value of the matrix as a preconditioner converges to the
exact solution of the system in at most two steps. Neither the exact absolute value of the matrix
nor its exact inverse are computationally feasible to construct in general. However, we provide
a practical example of an SPD preconditioner that is based on the suggested approach. In this
example we consider a model problem with a shifted discrete negative Laplacian and suggest a
geometric multigrid (MG) preconditioner, where the inverse of the matrix absolute value appears
only on the coarse grid, while operations on finer grids are based on the Laplacian. Our numerical
tests demonstrate practical effectiveness of the new MG preconditioner, which leads to a robust
iterative scheme with minimalist memory requirements.
Key words. preconditioning, linear system, preconditioned minimal residual method, polar
decomposition, matrix absolute value, multigrid, polynomial filtering
AMS subject classifications. 15A06, 65F08, 65F10, 65N22, 65N55
DOI. 10.1137/120886686
1. Introduction. Large sparse symmetric and indefinite systems arise in a variety of applications. For example, in the form of saddle point problems, such systems
result from mixed finite element discretizations of underlying differential equations of
fluid and solid mechanics; see, e.g., [3] and references therein. In acoustics, large sparse
symmetric indefinite systems are obtained after discretizing the Helmholtz equation
for certain media types and boundary conditions. Often the need to solve symmetric
indefinite problems comes as an auxiliary task within other computational routines,
such as the inner step in interior point methods in linear and nonlinear optimization [3, 26] or solution of the correction equation in the Jacobi–Davidson method [36]
for a symmetric eigenvalue problem.
We consider an iterative solution of a linear system Ax = b, where the matrix
A is real nonsingular and symmetric indefinite, i.e., the spectrum of A contains both
positive and negative eigenvalues. In order to improve the convergence, we introduce a preconditioner T and formally replace Ax = b by the preconditioned system
T Ax = T b. If T is properly chosen, an iterative method for this system can exhibit
a better convergence behavior compared to a scheme applied to Ax = b. Neither the
preconditioner T nor the preconditioned matrix T A is normally explicitly computed.
If T is not symmetric positive definite (SPD), then T A, in general, is not symmetric with respect to any inner product [29, Theorem 15.2.1]. Thus, the introduction
∗ Submitted to the journal’s Methods and Algorithms for Scientific Computing section August 1,
2012; accepted for publication (in revised form) January 2, 2013; published electronically March 14,
2013. This work is partially supported by National Science Foundation grant 1115734.
http://www.siam.org/journals/sisc/35-2/88668.html
† Computational Research Division, Lawrence Berkeley National Laboratory, Berkeley, CA 94720
([email protected]).
‡ Department of Mathematical and Statistical Sciences, University of Colorado, Denver, CO
80217-3364, and Mitsubishi Electric Research Laboratories, Cambridge, MA 02139 (andrew.
[email protected], http://www.merl.com/people/?user=knyazev, http://math.ucdenver.edu/∼
aknyazevs/).
A696
ABSOLUTE VALUE PRECONDITIONING
A697
of a non-SPD preconditioner replaces the original symmetric problem Ax = b by a
generally nonsymmetric T Ax = T b. Specialized methods for symmetric linear systems are no longer applicable to the preconditioned problem and must be replaced by
iterative schemes for nonsymmetric linear systems, e.g., GMRES or GMRES(m) [35],
Bi-CGSTAB [41], and QMR [17].
The approach based on the choice of a non-SPD preconditioner, which leads to
solving a nonsymmetric problem, has several disadvantages. First, no short-term recurrent scheme that delivers an optimal Krylov subspace method is typically available
for a nonsymmetric linear system [15]. In practice, this means that implementations
of the optimal methods (e.g., GMRES) require an increasing amount of work and
storage at every new step and hence are often computationally expensive.
Second, the convergence behavior of iterative methods for nonsymmetric linear
systems is not completely understood. In particular, the convergence may not be
characterized in terms of reasonably accessible quantities, such as the spectrum of the
preconditioned matrix; see the corresponding results for GMRES and GMRES(m)
in [20, 43]. This makes it difficult to predict computational costs.
If T is chosen to be SPD, i.e., T = T ∗ > 0, then the matrix T A of the preconditioned linear system is symmetric with respect to the T −1 -inner product defined by
(u, v)T −1 = (u, T −1v) for any pair of vectors u and v. Here (·, ·) denotes the Euclidean
inner product (u, v) = v ∗ u, in which the matrices A and T are symmetric. Due to
this symmetry preservation, system T Ax = T b can be solved using an optimal Krylov
subspace method that admits a short-term recurrent implementation, such as preconditioned MINRES (PMINRES) [14, 28]. Moreover, the convergence of the method
can be fully estimated in terms of the spectrum of T A.
In light of the above discussion, the choice of an SPD preconditioner for a symmetric indefinite linear system can be regarded as natural and favorable, especially
if corresponding non-SPD preconditioning strategies fail to provide convergence in a
small number of iterations. We advocate the use of SPD preconditioning.
The question of constructing SPD preconditioners for symmetric indefinite systems has been widely studied in many applications. For saddle point problems, the
block-diagonal SPD preconditioning has been addressed, e.g., in [16, 37, 44]. In [2],
it was proposed to use an inverse of the negative Laplacian as an SPD preconditioner
for indefinite Helmholtz problems. This approach was further extended in [25] by
introducing a shift into the preconditioner. Another strategy was suggested in [18],
primarily in the context of linear systems arising in optimization. It is based on the
so-called Bunch–Parlett factorization [9].
We introduce here a different idea (originating from the PhD thesis [42]) of constructing SPD preconditioners that resemble the inverse of the absolute value of the
coefficient matrix. Throughout, the absolute value of A is defined as a matrix function
|A| = V |Λ| V ∗ , where A = V ΛV ∗ is the eigenvalue decomposition of A. We are motivated by the observation that PMINRES with |A|−1 as a preconditioner converges
to the exact solution in at most two steps. We refer to the new approach as the
absolute value (AV) preconditioning and call the corresponding preconditioners the
AV preconditioners.
The direct approach for constructing an AV preconditioner is to approximately
solve |A| z = r. However, |A| is generally not available, which makes the application
of standard techniques, such as incomplete factorizations and approximate inverses,
problematic. The vector |A|−1 r can also be found using matrix function computations, normally fulfilled by a Krylov subspace method [19, 23] or a polynomial
A698
EUGENE VECHARYNSKI AND ANDREW V. KNYAZEV
approximation [30, 31]. Our numerical experience shows that the convergence, with
respect to the outer iterations, of a linear solver can be significantly improved with
this approach, but the computational costs of approximating f (A)r = |A|−1 r may be
too high, i.e., much higher than the cost of matrix-vector multiplication with A.
Introduction of the general concept of the AV preconditioning is the main theoretical contribution of the present work. As a proof of concept example of the AV
preconditioning, we use a geometric multigrid (MG) framework. To investigate applicability and practical effectiveness of the proposed idea, we choose a model problem
resulting from discretization of a shifted Laplacian (Helmholtz operator) on a unit
square with Dirichlet boundary conditions. The obtained linear system is real symmetric indefinite. We construct an MG AV preconditioner that, used in the PMINRES
iteration, delivers an efficient computational scheme.
Let us remark that the same model problem has been considered in [4], where the
authors utilize the coarse grid approximation to reduce the indefinite problem to the
SPD system. Satisfactory results have been reported for small shifts, i.e., for slightly
indefinite systems. However, the limitation of the approach lies in the requirement
on the size of the coarse space, which should be chosen sufficiently large. As we show
below, the MG AV preconditioner presented in this paper allows keeping the coarsest
problem reasonably small, even if the shift is large.
The numerical solution of Helmholtz problems is an object of active research;
see, e.g., [1, 6, 12, 13, 21, 27, 40]. A typical Helmholtz problem is approximated
by a complex symmetric (non-Hermitian) system. The real symmetric case of the
Helmholtz equation, considered in this paper, is less common. However, methods for
complex problems are evidently applicable to our particular real case, which allows
us to make numerical comparisons with known Helmholtz solvers.
We test several solvers, based on the inverted Laplacian and the standard MG
preconditioning, to compare with the proposed AV preconditioning. In fact, the inverted (shifted) Laplacian preconditioning [2, 25] for real Helmholtz problems can be
viewed as a special case of our AV preconditioning. In contrast to preconditioners
in [18] relying on the Bunch–Parlett factorization, we show that the AV preconditioners can be constructed without any decompositions of the matrix, which is crucial for
very large or matrix-free problems.
This paper is organized as follows. In section 2, we present and justify the general notion of an AV preconditioner. The rest of the paper deals with the question of
whether AV preconditioners can be efficiently constructed in practice. In section 3,
we give a positive answer by constructing an example of a geometric MG AV preconditioner for the model problem. The efficiency of this preconditioner is demonstrated
in our numerical tests in section 4. We conclude in section 5.
2. AV preconditioning for symmetric indefinite systems. Given an SPD
preconditioner T , we consider solving a linear system with the preconditioned minimal
residual method, implemented in the form of the PMINRES algorithm [14, 28]. In the
absence of round-off errors, at step i, the method constructs an approximation x(i) to
the solution of Ax = b of the form
(2.1)
x(i) ∈ x(0) + Ki T A, T r(0)
such that the residual vector r(i) = b − Ax(i) satisfies the optimality condition
(2.2)
r(i) T =
min
u∈AKi (T A,T r (0) )
r(0) − uT .
ABSOLUTE VALUE PRECONDITIONING
A699
Here, Ki T A, T r(0) = span T r(0) , (T A)T r(0) , . . . , (T A)i−1 T r(0) is the Krylov subspace generated by the matrix T A and the vector T r(0) , the T -norm is defined by
v2T = (v, v)T for any v, and x(0) is the initial guess. Scheme (2.1)–(2.2) represents
an optimal Krylov subspace method and the PMINRES implementation is based on
a short-term recurrence. The conventional convergence rate bound for (2.1)–(2.2) can
be found, e.g., in [14] and relies solely on the distribution of eigenvalues of T A.
−1
The following trivial, but important, theorem regards |A| as an SPD preconditioner for a symmetric indefinite system.
Theorem 2.1. The preconditioned minimal residual method (2.1)–(2.2) with
−1
preconditioner T = |A| converges to the solution of Ax = b in at most two steps.
−1
Theorem 2.1 implies that T = |A| is an ideal SPD preconditioner. Note that the
theorem holds not only for the preconditioned minimal residual method (2.1)–(2.2),
but for all methods where convergence is determined by the degree of the minimal
polynomial of T A.
−1
In practical situations, the computation of an ideal SPD preconditioner T = |A|
is prohibitively costly. However, we show that it is possible to construct inexpensive
−1
SPD preconditioners that resemble |A| and can significantly accelerate the convergence of an iterative method.
Definition 2.2. We call an SPD preconditioner T for a symmetric indefinite
linear system Ax = b an AV preconditioner if it satisfies
(2.3)
δ0 (v, T −1 v) ≤ (v, |A| v) ≤ δ1 (v, T −1 v) ∀v
with constants δ1 ≥ δ0 > 0 such that the ratio δ1 /δ0 ≥ 1 is reasonably small.
Let us remark that Definition 2.2 of the AV preconditioner is informal because
no precise assumption is made about how small the ratio δ1 /δ0 should be. It is clear
−1
from (2.3) that δ1 /δ0 measures how well the preconditioner T approximates |A| ,
up to a positive scaling. If A represents a hierarchy of mesh problems, then it is
desirable that δ1 /δ0 is independent of the problem size. In this case, if A is SPD,
Definition 2.2 of the AV preconditioner is consistent with the well-known concept of
spectrally equivalent preconditioning for SPD systems; see [10].
The following theorem provides bounds for eigenvalues of the preconditioned matrix T A in terms of the spectrum of T |A|. We note that T and A, and thus T A and
T |A|, do not in general commute. Therefore, our spectral analysis cannot be based
on a traditional matrix analysis tool, a basis of eigenvectors.
Theorem 2.3. Given a nonsingular symmetric indefinite A ∈ Rn×n and an
SPD T ∈ Rn×n , let μ1 ≤ μ2 ≤ · · · ≤ μn be the eigenvalues of T |A|. Then eigenvalues
λ1 ≤ · · · ≤ λp < 0 < λp+1 ≤ · · · ≤ λn of T A are located in intervals
(2.4)
−μn−j+1
μj−p
≤ λj
≤ λj
≤ −μp−j+1 ,
≤
μj ,
j = 1, . . . , p;
j = p + 1, . . . , n.
Proof. We start by observing that the absolute value of the Rayleigh quotient of
the generalized eigenvalue problem Av = λ |A| v is bounded by 1, i.e.,
(2.5)
|(v, Av)| ≤ (v, |A| v) ∀v ∈ Rn .
Now, we recall that the spectra of matrices T |A| and T A are given by the generalized eigenvalue problems |A| v = μT −1 v and Av = λT −1 v, respectively, and introduce
the corresponding Rayleigh quotients
A700
EUGENE VECHARYNSKI AND ANDREW V. KNYAZEV
ψ(v) ≡
(2.6)
(v, Av)
(v, |A| v)
, φ(v) ≡
, v ∈ Rn .
−1
(v, T v)
(v, T −1 v)
Let us fix any index j ∈ {1, 2, . . . , n} and denote by S an arbitrary subspace of
Rn such that dim(S) = j. Since inequality (2.5) also holds on S, using (2.6) we write
−ψ(v) ≤ φ(v) ≤ ψ(v), v ∈ S.
(2.7)
Moreover, taking the maxima in vectors v ∈ S, and after that the minima in subspaces
S ∈ S j = {S ⊆ Rn : dim(S) = j}, of all parts of (2.7) preserves the inequalities, so
(2.8)
min max(−ψ(v)) ≤ minj max φ(v) ≤ minj max ψ(v).
S∈S j v∈S
S∈S
v∈S
S∈S
v∈S
By the Courant–Fischer theorem (see, e.g., [24, 29]) for the Rayleigh quotients ±ψ(v)
and φ(v) defined in (2.6), we conclude from (2.8) that
−μn−j+1 ≤ λj ≤ μj .
Recalling that j has been arbitrarily chosen, we obtain the following bounds on the
eigenvalues of T A:
−μn−j+1
0
(2.9)
≤
<
λj
λj
<
≤
0,
μj ,
j = 1, . . . , p;
j = p + 1, . . . , n.
Next, in order to derive nontrivial upper and lower bounds for the p negative and
n − p positive eigenvalues λj in (2.9), we use the fact that eigenvalues ξj and ζj of the
−1
generalized eigenvalue problems |A| v = ξT v and A−1 v = ζT v are the reciprocals
of the eigenvalues of the problems |A| v = μT −1 v and Av = λT −1 v, respectively, i.e.,
0 < ξ1 =
(2.10)
1
1
1
≤ ξ2 =
≤ · · · ≤ ξn =
μn
μn−1
μ1
and
(2.11)
ζ1 =
1
1
1
1
≤ · · · ≤ ζp =
< 0 < ζp+1 =
≤ · · · ≤ ζn =
.
λp
λ1
λn
λp+1
Similar to (2.5),
(v, A−1 v) ≤ (v, |A|−1 v) ∀v ∈ Rn .
Thus, we can use the same arguments as those following (2.5) to show that relations (2.7) and (2.8), with a fixed j ∈ {1, 2, . . . , n}, also hold for
(2.12)
ψ(v) ≡
−1
(v, A−1 v)
(v, |A| v)
, φ(v) ≡
, v ∈ Rn ,
(v, T v)
(v, T v)
where ψ(v) and φ(v) are now the Rayleigh quotients of the generalized eigenvalue
−1
problems |A| v = ξT v and A−1 v = ζT v, respectively. The Courant–Fischer theorem
for ±ψ(v) and φ(v) in (2.12) allows us to conclude from (2.8) that
−ξn−j+1 ≤ ζj ≤ ξj .
ABSOLUTE VALUE PRECONDITIONING
A701
Given the arbitrary choice of j in the above inequality, by (2.10)–(2.11) we get the
following bounds on the eigenvalues of T A:
(2.13)
−1/μp−j+1
0
≤
<
1/λj
1/λj
<
≤
0,
1/μj−p ,
j = 1, . . . , p;
j = p + 1, . . . , n.
Combining (2.9) and (2.13), we obtain (2.4).
Theorem 2.3 suggests two useful implications given by the corresponding corollaries below. In particular, the following result describes Λ(T A), i.e., the spectrum of
the preconditioned matrix T A, in terms of δ0 and δ1 in (2.3).
Corollary 2.4. Given a nonsingular symmetric indefinite A ∈ Rn×n , an SPD
T ∈ Rn×n , and constants δ1 ≥ δ0 > 0 satisfying (2.3), we have
(2.14)
Λ(T A) ⊂ [−δ1 , −δ0 ] [δ0 , δ1 ] ,
where Λ(T A) is the spectrum of T A.
Proof. The proof follows directly from (2.3) and (2.4) with j = 1, p, p+1, n.
The next corollary shows that the presence of reasonably populated clusters of
eigenvalues in the spectrum of T |A| guarantees the occurrence of corresponding clusters in the spectrum of the preconditioned matrix T A.
Corollary 2.5. Given a nonsingular symmetric indefinite A ∈ Rn×n and an
SPD T ∈ Rn×n , let μl ≤ μl+1 ≤ · · · ≤ μl+k−1 be a sequence of k eigenvalues of
T |A|, where 1 ≤ l < l + k − 1 ≤ n and τ = |μl − μl+k−1 |. Then, if k ≥ p + 2,
the k − p positive eigenvalues λl+p ≤ λl+p+1 ≤ · · · ≤ λl+k−1 of T A are such that
|λl+p − λl+k−1 | ≤ τ . Also, if k ≥ (n − p) + 2, the k − (n − p) negative eigenvalues
λn−k−l+2 ≤ · · · ≤ λp−l ≤ λp−l+1 of T A are such that |λn−k−l+2 − λp−l+1 | ≤ τ .
Proof. The proof follows directly from bounds (2.4).
Corollary 2.4 implies that the ratio δ1 /δ0 ≥ 1 of the constants from (2.3) measures
the quality of the AV preconditioner T . Indeed, the convergence speed of the preconditioned minimal residual method is determined by the spectrum of T A, primarily
by the intervals of the right-hand side of inclusion (2.14). Additionally, Corollary 2.5
prompts that a “good” AV preconditioner should ensure clusters of eigenvalues in the
spectrum of T |A|. This implies the clustering of eigenvalues of the preconditioned
matrix T A, which has a favorable effect on the convergence behavior of a polynomial
iterative method, such as PMINRES.
In the next section, we construct an example of the AV preconditioner for a
particular model problem. We apply the MG techniques.
3. MG AV preconditioning for a model problem. Let us consider the real
boundary value problem
(3.1)
−Δu(x, y) − c2 u(x, y) = f (x, y), (x, y) ∈ Ω = (0, 1) × (0, 1), u|Γ = 0,
where Δ = ∂ 2 /∂x2 + ∂ 2 /∂y2 is the Laplace operator and Γ denotes the boundary of
Ω. Problem (3.1) is a particular instance of the Helmholtz equation with Dirichlet
boundary conditions, where c > 0 is a wave number.
After introducing a uniform grid of size h in both directions and using the standard
five-point finite-difference stencil to discretize continuous problem (3.1), one obtains
the corresponding discrete problem
(3.2)
(L − c2 I)x = b,
A702
EUGENE VECHARYNSKI AND ANDREW V. KNYAZEV
where A ≡ L − c2 I represents a discrete negative Laplacian L (later called “Laplacian”), satisfying the Dirichlet boundary condition shifted by a scalar c2 .
The common rule of thumb (see, e.g., [13, 22]) for discretizing (3.1) is
ch ≤ π/5.
(3.3)
Below, we call (3.2) the model problem. We assume that the shift c2 is different from
any eigenvalue of the Laplacian and is greater than the smallest but less than the
largest eigenvalue. Thus, the matrix L − c2 I is nonsingular symmetric indefinite. In
the following subsection, we apply the idea of the AV preconditioning to construct an
MG AV preconditioner for system (3.2).
While our main focus throughout the paper is on the two-dimensional (2D) problem (3.1), in order to simplify presentation of theoretical analysis, we also refer to the
one-dimensional (1D) analogue
−u (x) − c2 u(x) = f (x), u(0) = u(1) = 0.
(3.4)
The conclusions drawn from (3.4), however, remain qualitatively the same for the 2D
problem of interest, which we test numerically.
3.1. Two-grid AV preconditioner. Along with the fine grid of mesh size h
underlying problem (3.2), let us consider a coarse grid of mesh size H > h. We
denote the discretization of the Laplacian on this grid by LH , and IH represents the
identity operator
of the corresponding dimension. We assume that the exact fine-level
its inverse
absolute value L − c2 I and
are not computable, whereas the inverse of
the coarse-level operator LH − c2 IH can be efficiently constructed. In the two-grid
framework, we use the subscript H to refer to the quantities defined on the coarse
grid. No subscript
is used for denoting the fine grid quantities.
While L − c2 I is not available, let us assume that we have its SPD approximation
B, i.e., B ≈ |L − c2 I| and B = B ∗ > 0. The operator B can be given in the explicit
matrix form or through the action on a vector. We suggest the following general
scheme as a two-grid AV preconditioner for model problem (3.2).
Algorithm 3.1 (the two-grid AV preconditioner). Input: r, B ≈ |L − c2 I|.
Output: w.
1. Presmoothing. Apply ν smoothing steps, ν ≥ 1:
(3.5)
w(i+1) = w(i) + M −1 (r − Bw(i) ), i = 0, . . . , ν − 1, w(0) = 0,
where M defines a smoother. Set wpre = w(ν) .
2. Coarse grid correction. Restrict (R) r − Bwpre to the coarse grid, apply
LH − c2 IH −1 , and prolongate (P ) to the fine grid. This delivers the coarse
grid correction, which is added to wpre :
(3.6)
(3.7)
−1
wH = LH − c2 IH R (r − Bwpre ) ,
wcgc = wpre + P wH .
3. Postsmoothing. Apply ν smoothing steps:
(3.8)
w(i+1) = w(i) + M −∗ (r − Bw(i) ), i = 0, . . . , ν − 1, w(0) = wcgc ,
where M and ν are the same as in step 1. Return w = wpost = w(ν) .
ABSOLUTE VALUE PRECONDITIONING
A703
In (3.6) we assume that LH − c2 IH is nonsingular, i.e., c2 is different from
any eigenvalue of LH . The presmoother is defined by the nonsingular M , while the
postsmoother is delivered by M ∗ . Note that the (inverted) absolute value appears only
on the coarse grid, while the fine grid computations are based on the approximation B.
It is immediately seen that if B = |L − c2 I|, Algorithm 3.1 represents a formal
two-grid cycle [8, 39] for system
L − c2 I z = r.
(3.9)
Note that the introduced scheme is rather general in that different choices of approximations B and smoothers M lead to different preconditioners. We address these
choices in more detail in the following subsections.
It can be verified that the AV preconditioner given by Algorithm 3.1 implicitly
constructs a mapping r → w = Ttg r, where the operator is
−1 ν
ν (3.10)
Ttg = I − M −∗ B P LH − c2 IH R I − BM −1 + F
ν
ν
with F = B −1 − (I − M −∗ B) B −1 I − BM −1 . The fact that the constructed
preconditioner T = Ttg is SPD follows directly from the observation that the first
term in (3.10) is SPD provided that P = αR∗ for some nonzero scalar α, while the
second term F is SPD if the spectral radii of I − M −1 B and I − M −∗ B are less than 1.
The latter condition requires the pre- and postsmoothing iterations (3.5) and (3.8) to
represent convergent methods for By = r. Note that the above argument essentially
repeats the one used to justify symmetry and positive definiteness of a preconditioner
based on the standard two-grid cycle for an SPD system; see, e.g., [5, 38].
In this paper we consider two different choices of the approximation B. The
first choice is given by B = L, i.e., it is suggested to approximate the absolute value
|L − c2 I| by the Laplacian L. The second choice is delivered by B = pm (L − c2 I),
where pm is a polynomial of degree at most m such that pm (L − c2 I) ≈ |L − c2 I|.
3.2. Algorithm 3.1 with B = L. If B = L, Algorithm 3.1 can be regarded as
a step of a standard two-grid method [8, 39] applied to the Poisson equation
(3.11)
Ly = r,
modified by replacing the operator LH by |LH − c2 IH | on the coarse grid. The
question remains of whether the algorithm delivers a form of an approximate solve
for absolute value problem (3.9) and hence is suitable for AV preconditioning of (3.2).
To be able to answer this question, we analyze the propagation of the initial error
2 −1
r of (3.9) under the action of the algorithm.
eAV
0 = |L − c I|
We start by relating errors of (3.9) and (3.11).
Lemma 3.1. Given a vector w, consider errors eAV (w) = |L − c2 I|−1 r − w and
eP (w) = L−1 r − w for (3.9) and (3.11), respectively. Then
(3.12)
eAV (w) = eP (w) + (c2 I − Wp )L−1 |L − c2 I|−1 r,
where Wp = 2Vp |Λp |Vp∗ , Vp is the matrix of eigenvectors of L − c2 I corresponding to
the p negative eigenvalues λ1 ≤ . . . ≤ λp < 0, and |Λp | = diag {|λ1 |, . . . , |λp |}.
Proof. Observe that for any w,
eAV (w) = |L − c2 I|−1 r − w = |L − c2 I|−1 r + (eP (w) − L−1 r)
= eP (w) + |L − c2 I|−1 L−1 (L − |L − c2 I|)r.
Denoting A = L − c2 I, we use the expression |A| = A − 2Vp Λp Vp∗ to get (3.12).
A704
EUGENE VECHARYNSKI AND ANDREW V. KNYAZEV
Algorithm 3.1 transforms the initial error eP0 = L−1 r of (3.11) into
(3.13)
eP = S2ν KS1ν eP0 ,
where S1 = I − M −1 L and S2 = I − M −∗ L are pre- and postsmoothing operators,
K = I − P |LH − c2 IH |−1 RL corresponds to the coarse grid correction step, and
eP = L−1 r − wpost . Denoting the error of absolute value system (3.9) after applying
Algorithm 3.1 by eAV = |L − c2 I|−1 r − wpost and observing that eP0 = |L − c2 I|L−1 eAV
0 ,
by (3.12)–(3.13) we obtain
(3.14)
eAV = S2ν KS1ν |L − c2 I| + c2 I − Wp L−1 eAV
0 .
The last expression gives an explicit form of the desired error propagation operator,
which we denote by G:
(3.15)
G = S2ν KS1ν |L − c2 I| + c2 I − Wp L−1 .
Below, as a smoother, we use a simple Richardson’s iteration, i.e., S1 = S2 =
I − τ L, where τ is an iteration parameter. The restriction R is given by the full
weighting and the prolongation P by the standard piecewise linear interpolation;
see [8, 39].
At this point, in order to simplify further presentation, let us refer to the 1D
analogue (3.4)
of model problem (3.1). In this case, the matrix L is tridiagonal:
L = tridiag −1/h2 , 2/h2 , −1/h2 . We assume that n, the number of interior grid
nodes, is odd: h = 1/(n + 1). The coarse grid is then obtained by dropping the oddnumbered nodes. We denote the size of the coarse grid problem by N = (n + 1)/2 − 1;
H = 1/(N + 1) = 2h. The tridiagonal matrix LH denotes the discretization of the
1D Laplacian on the coarse level.
Recall that the eigenvalues of L are θj = h42 sin2 jπh
2 with corresponding eigenvec√
n
tors vj = 2h [sin ljπh]l=1 . Similarly, the eigenvalues of LH are θjH = H42 sin2 jπH
2 ,
√
N
H
and the coarse grid eigenvectors are denoted by vj = 2H [sin ljπH]l=1 . It is clear
that operators L − c2 I and LH − c2 IH have the same sets of eigenvectors as L and
H
2
LH with eigenvalues tj = θj − c2 and tH
j = θj − c , respectively.
n
Let eAV
j be the expansion of the initial error in the eigenbasis of L.
0 =
j=1 αj v
n
Since eAV = GeAV
=
0
j=1 αj (Gvj ), we are interested in the action of the error
propagation operator (3.15) on the eigenmodes vj .
The action of the operators R and P on vj and vjH , respectively, is well known;
see, e.g., [8, pp. 80–81]. Thus, it is easy to obtain the following expression for Kvj :
(3.16)
⎧
⎪
θj
⎪
4 θj
⎪
1 − cj H vj + s2j c2j H vn+1−j ,
j = 1, . . . , N,
⎪
⎪
⎪
|tj |
|tj |
⎨
Kvj = vj ,
j = N + 1,
⎪
⎪
⎪
θj
θj
⎪
4
H
⎪
vn+1−j
, j = N + 2, . . . , n.
vj + s2j c2j H
⎪
⎩ 1 − cj |tH
|
|t
|
n+1−j
n+1−j
jπh
Here, cj = cos jπh
2 and sj = sin 2 . Since vj are the eigenvectors of S1 = S2 = I −τ L,
2
−1
L − c I, L , and Wp , (3.15) leads to explicit expressions for Gvj .
ABSOLUTE VALUE PRECONDITIONING
A705
Theorem 3.2. Let c2 < θN +1 = 2/h2 . Then the error propagation operator G
in (3.15) acts on the eigenvectors vj of the 1D Laplacian as follows:
⎧
(11)
(12)
⎪
⎨gj vj + gj vn+1−j , j = 1, . . . , N,
j = N + 1,
(3.17)
Gvj = gj vj ,
⎪
⎩g (21) v + g (22) v
j
n+1−j , j = N + 2, . . . , n,
j
j
where
(3.18)
(11)
gj
(3.19)
gj
(12)
2ν
= (1 − τ θj )
= (1 − τ θj )ν s2j c2j
gj = (1 − τ θj )2ν
(3.20)
(3.21)
(21)
gj
(3.22)
gj
(22)
1−
2ν
= (1 − τ θj )
βj =
θj
|tH
j |
βj
|tj | c2
+
−
,
θj
θj
θj
|tj |
(1 − τ θn+1−j )ν ,
|tH
|
j
|tj | c2
+
,
θj
θj
1−
= (1 − τ θj )ν s2j c2j
and
c4j
c4j
θj
|tH
n+1−j |
|tj | c2
+
,
θj
θj
|tj |
(1 − τ θn+1−j )ν ;
|tH
|
n+1−j
2
2(c − θj ),
0,
θj < c 2 ,
.
θj > c 2
Theorem 3.2 implies that for relatively small shifts, Algorithm 3.1 with B = L
and a proper choice of τ and ν reduces the error of (3.9) in the directions of almost
all eigenvectors vj . In a few directions, however, the error may be amplified. These
directions are given by the smooth eigenmodes associated with θj that are close to c2
on the right, as well as with θj that are distant from c2 on the left. The number of
the latter, if any, is small if ch is sufficiently small and becomes larger as ch increases.
Indeed, let τ = h2 /3 so that |1 − τ θj | < 1 for all j and |1 − τ θj | < 1/3 for j > N .
This choice of the parameter provides the least uniform bound for |1 − τ θj | that
correspond to the oscillatory eigenmodes [34, p. 415]. It is then readily seen that (3.19)
and (3.22) can be made arbitrarily small within a reasonably small number ν of
smoothing steps. Similarly, (3.20) and (3.21) can be made arbitrarily close to c2 /θj <
1. If c2 << θN +1 , then c2 /θj in (3.20) and (3.21) is close to zero. Thus, Theorem 3.2
shows that for relatively small shifts, smoothing provides small values of (3.19)–(3.22)
and hence damps the oscillatory part of the error. Note that the damping occurs even
though the smoothing is performed with respect to (3.11), not (3.9).
Now let us consider (3.18). Theorem 3.2 shows that if c2 is close to an eigenvalue
H
θj of the coarse-level Laplacian, i.e., if tH
j ≈ 0, then the corresponding reduction coefficient (3.18) can be large. This means that Algorithm 3.1 with B = L has a potential
difficulty of amplifying the error in the directions of a few smooth eigenvectors.
A similar effect is known to appear for standard MG methods applied to Helmholtz
type problems; see [7, 13]. Below, we analyze (3.18) in more detail.
Let θj > c2 . Then, using the relation θjH = c2j θj , we can write (3.18) as
1
c2
c2
(11)
2ν
2
gj = (1 − τ θj )
.
1 − cj
+
1
−
H
2
θj
θj
|1 − c /θj |
A706
EUGENE VECHARYNSKI AND ANDREW V. KNYAZEV
(11)
Here, it is easy to see that as c2 /θjH → 0, gj → (1 − τ θj )2ν s2j < 1/2, meaning that
the smooth eigenmodes corresponding to θj away from c2 on the right are well damped.
If θj < c2 , then (3.18) takes the form
2
2
4
/θ
−
c
−
c
c
c2
c2
j
(11)
j
j
2ν
gj = (1 − τ θj )
−1 + 2−
.
c2 /θj − c2j
θj
θj
Since c2j ∈ (1/2, 1), for any c2 /θj > 1, we can obtain the bound
c2 /θj − c2j − c4j
c2 /θj − 2
c2 /θj − 3/4
≤
.
≤
c2 /θj − 1
c2 /θj − c2j
c2 /θj − 1/2
Additionally, 3−2ν < (1 − τ θj )2ν < 1. Thus,
(11)
lj < g j
<
3(c2 /θj ) − 1
,
4(c2 /θj ) − 2
where lj = 0 if 1 < c2 /θj ≤ 2 and lj = 2 − c2 /θj if c2 /θj > 2.
(11)
The inequality implies that |gj | < 1 for 1 < c2 /θj ≤ 3, i.e., the algorithm
reduces the error in the directions of several smooth eigenvectors associated with θj
(11)
to the left of c2 . At the same time, we note that as c2 /θj → ∞, gj → ∞, i.e., the
smooth eigenmodes corresponding to θj that are distant from c2 on the left can be
amplified. Clearly, if ch is sufficiently small, then the number of such error components
is not large (or is none) and grows as ch increases.
The above analysis shows that Algorithm 3.1 with B = L indeed represents a
solve for (3.9), where the solution is approximated everywhere, possibly except for a
subspace of a small dimension. In the context of preconditioning, this translates into
the fact that the preconditioned matrix has a spectrum clustered around 1 and −1
with a few outliers generated by the amplification of the smooth eigenmodes. If the
shift is sufficiently small, the number of such outliers is not large, which only slightly
delays the convergence of the outer PMINRES iterations and does not significantly
affect the efficiency of the overall scheme.
3.3. Algorithm 3.1 with B = pm (L − c2 I). The analysis of the previous
subsection suggests that the quality of Algorithm 3.1 with B = L may deteriorate
as ch increases. This result is not surprising, since for larger ch the relation L ≈
|L − c2 I| becomes no longer meaningful. Below we introduce a different approach for
approximating the fine grid absolute value. In particular, we consider constructing
polynomial approximations B = pm (L − c2 I), where pm (λ) is a polynomial of degree
at most m > 0 such that pm (L − c2 I) ≈ |L − c2 I|.
Let us first refer to the ideal particular case, where pm (L − c2 I) = |L − c2 I|. This
can happen, e.g., if pm (λ) is an interpolating polynomial of f (λ) = |λ| on the spectrum
of L − c2 I, m = n − 1. In such a situation, Algorithm 3.1 with B = pm (L − c2 I)
results in the following transformation of the initial error:
(3.23)
eAV = S̄2ν K̄ S̄1ν eAV
0 ,
where S̄1 = I − M −1 |L − c2 I| and S̄2 = I − M −∗ |L − c2 I| are pre- and postsmoothing
operators and K̄ = I − P |LH − c2 IH |−1 R|L − c2 I| corresponds to the coarse grid
correction step. The associated error propagation operator is further denoted by Ḡ,
(3.24)
Ḡ = S̄2ν K̄ S̄1ν .
ABSOLUTE VALUE PRECONDITIONING
A707
For clarity, we again consider the 1D counterpart (3.4) of the model problem.
As a smoother, we choose Richardson’s iteration with respect to absolute value system (3.9), i.e., S̄1 = S̄2 = I − τ |L − c2 I|. It is important to note here that the
eigenvalues |tj | of the absolute value operator are, in general, no longer ascendingly
ordered with respect to j as is the case for θj ’s and tj ’s. Moreover, in contrast to
L and L − c2 I, the top part of the spectrum of |L − c2 I| may be associated with
both smooth and oscillatory eigenmodes. In particular, this means that Richardson’s
iteration may fail to properly eliminate the oscillatory components of the error, which
is an undesirable outcome of the smoothing procedure. To avoid this, we require that
|t1 | < tN +1 . It is easy to verify that the latter condition is fulfilled if
ch < 1.
(3.25)
Note that (3.25) automatically holds if discretization rule (3.3) is enforced. Repeating
the above argument for the 2D case also leads to (3.25).
Let the restriction and prolongation operators R and P be the same as in the
previous subsection. Similar to (3.16), we obtain an explicit expression for the action
of the coarse grid correction operator K̄ on eigenvectors vj :
⎧
⎪
|t
|
|tj |
⎪
j
⎪
1 − c4j H vj + s2j c2j H vn+1−j ,
j = 1, . . . , N,
⎪
⎪
⎪
|tj |
|tj |
⎨
j = N + 1,
vj ,
(3.26) K̄vj = ⎪
⎪
⎪
|tj |
|tj |
⎪
4
H
⎪
, j = N + 2, . . . , n.
vj + s2j c2j H
vn+1−j
⎪
⎩ 1 − cj |tH
|
|t
|
n+1−j
n+1−j
The following theorem is the analogue of Theorem 3.2.
Theorem 3.3. The error propagation operator Ḡ in (3.24) acts on the eigenvectors vj of the 1D Laplacian as follows:
⎧
(11)
(12)
⎪
⎨ḡj vj + ḡj vn+1−j , j = 1, . . . , N,
j = N + 1,
(3.27)
Ḡvj = ḡj vj ,
⎪
⎩ḡ (21) v + ḡ (22) v
j
n+1−j , j = N + 2, . . . , n,
j
j
where
(3.28)
(11)
ḡj
(3.29)
ḡj
(12)
2ν
= (1 − τ |tj |)
1−
= (1 − τ |tj |)ν s2j c2j
c4j
(3.31)
(21)
ḡj
(3.32)
ḡj
(22)
2ν
= (1 − τ |tj |)
1−
= (1 − τ |tj |)ν s2j c2j
,
|tj |
(1 − τ |tn+1−j |)ν ,
|tH
j |
ḡj = (1 − τ |tj |)2ν ,
(3.30)
|tj |
|tH
j |
c4j
|tj |
|tH
n+1−j |
,
|tj |
(1 − τ |tn+1−j |)ν .
|tH
n+1−j |
We conclude from Theorem 3.3 that in the ideal case where pm (L−c2 I) = |L−c2 I|,
Algorithm 3.1 with B = pm (L − c2 I) and a proper choice of τ and ν reduces the error
A708
EUGENE VECHARYNSKI AND ANDREW V. KNYAZEV
of system (3.9) in the directions of all eigenvectors vj , possibly except for a few that
correspond to θj close to the shift c2 . Unlike in the case of Algorithm 3.1 with B = L,
as ch grows, no amplified error components appear in the directions of eigenvectors
associated with θj distant from c2 on the left. This suggests that Algorithm 3.1 with
B = pm (L − c2 I) = |L − c2 I| provides a more accurate solve for (3.9) with larger ch.
To see this, let us first assume that τ = h2 /(3 − c2 h2 ). Since (3.25) implies that
|tj | = tj for j > N , this choice is known to give the smallest uniform bound on |1−τ |tj ||
corresponding to the oscillatory eigenmodes vj , which is |1 − τ |tj || < 1/(3 − ch) < 1/2
with the last inequality resulting from (3.25). Hence, coefficients (3.29)–(3.32) can be
reduced within a reasonably small number ν of smoothing steps.
Next, we note that (3.28), which is not substantially affected by smoothing, can
be large if c2 is close to θjH , i.e., if tH
j ≈ 0. At the same time, we can write (3.28) as
2 2
c
s
(11)
j
gj = (1 − τ |tj |)2ν 1 − c2j 1 + H ,
tj (11)
which shows that |gj | approaches (1−τ |tj |)2ν s2j < 1/2 as |tH
j | increases, i.e., smooth
error components associated with θj away from c2 are well damped.
Thus, if used as a preconditioner, Algorithm 3.1 with B = pm (L−c2 I) = |L−c2 I|
aims at clustering the spectrum of the preconditioned matrix around 1 and −1, with
a few possible outliers that result from the amplification of the smooth eigenmodes
associated with θj close to c2 . Unlike in the case where B = L, the increase of ch
does not additionally amplify the smooth error components distant from c2 on the
left. Therefore, Algorithm 3.1 with B = pm (L − c2 I) = |L − c2 I| can be expected to
provide a more accurate preconditioner for larger shifts.
Although our analysis targets the ideal but barely feasible case where pm (L −
c2 I) = |L − c2 I|, it motivates the use of polynomial approximations pm (L − c2 I) ≈
|L−c2 I| and provides a theoretical insight into the superior behavior of such an option
for larger ch. In the rest of this subsection we describe a method for constructing such
polynomial approximations. Our approach is based on the finding that the problem
is easily reduced to constructing polynomial filters.
We start by introducing the step function
1, λ ≥ α,
hα (λ) =
0, λ < α,
where α is a real number, and noting that sign(λ) = 2h0 (λ) − 1, so that
(3.33)
|L − c2 I| = 2h0 (L − c2 I) − I L − c2 I .
Here h0 (L − c2 I) = V h0 (Λ)V ∗ , where V is the matrix of eigenvectors of L − c2 I and
h0 (Λ) = diag{0, . . . , 0, 1, . . . , 1} is obtained by applying the step function h0 (λ) to the
diagonal entries of the matrix Λ of the associated eigenvalues. Clearly the number of
zeros on the diagonal of h0 (Λ) equals the number of negative eigenvalues of L − c2 I.
Let qm−1 (λ) be a polynomial of degree at most (m − 1) such that qm−1 (λ) approximates h0 (λ) on the interval [a, b], where a and b are the lower and upper bounds
on the spectrum of L − c2 I, respectively. In order to construct an approximation
pm (L − c2 I) of |L − c2 I|, we replace the step function h0 (L − c2 I) in (3.33) by the
polynomial qm−1 (L − c2 I). Thus,
(3.34)
|L − c2 I| ≈ pm (L − c2 I) = 2qm−1 (L − c2 I) − I L − c2 I .
ABSOLUTE VALUE PRECONDITIONING
A709
The matrix L − c2 I is readily available on the fine grid. Therefore, we have
reduced the problem of evaluating the polynomial approximation pm of the absolute value operator to constructing a polynomial qm−1 that approximates the step
function h0 . More specifically, since Algorithm 3.1 can be implemented without the
explicit knowledge of the matrix B, i.e., B can be accessed only through its action
on a vector, we need to construct approximations of the form qm−1 (L − c2 I)v to
h0 (L − c2 I)v, where v is a given vector.
The task of constructing qm−1 (L − c2 I)v ≈ h0 (L − c2 I)v represents an instance of
polynomial filtering, which is well known; see, e.g., [11, 32, 45]. In this context, due to
the property of filtering out certain undesirable eigencomponents, the step function
h0 is called a filter function. The approximating polynomial qm−1 is referred to as a
polynomial filter.
State-of-the-art polynomial filtering techniques such as [32] would first replace
the discontinuous step function h0 (λ) by a smooth approximation on [a, b] and then
approximate the latter by a polynomial in the least-squares sense. In this paper, we
follow a simpler approach based on the direct approximation of h0 (λ) using Chebyshev
polynomials [30, 31]. The constructed polynomial qm−1 allows defining qm−1 (L −
c2 I)v ≈ h0 (L−c2 I)v and hence pm (L−c2 I)v ≈ |L−c2 I|v. Thus, the entire procedure
provides means to replace a matrix-vector product with the unavailable |L − c2 I| by,
essentially, a few multiplications with L − c2 I. As we further show, the degree m
of the approximating polynomial can be kept reasonably low. Moreover, in the MG
framework discussed in the next subsection, the algorithm has to be invoked only on
sufficiently coarse grids.
3.4. The MG AV preconditioner. Now let us consider a hierarchy of s + 1
grids numbered by l = s, s − 1, . . . , 0, with the corresponding mesh sizes {hl } in
decreasing order (hs = h corresponds to the finest grid and h0 to the coarsest). For
each level l we define the discretization Ll − c2 Il of the differential operator in (3.1),
where Ll is the Laplacian on grid l and Il is the identity of the same size.
In order to extend the two-grid AV preconditioner
given by Algorithm 3.1 to the
multigrid, instead of inverting the absolute value LH − c2 IH in (3.6), we recursively
apply the algorithm to the restricted vector R(r − Bwpre ). This pattern is then
followed in the V-cycle fashion on all levels with the inversion of the absolute value
of the shifted Laplacian on the coarsest grid. The matrix B on level l is denoted by
Bl . Each Bl is assumed to be SPD and is expected to approximate |Ll − c2 Il |.
In the previous subsections we have considered two choices of B for the two-grid
preconditioner in Algorithm 3.1. In the MG framework, these choices give Bl = Ll
and Bl = pml (Ll − c2 Il ), where pml is a polynomial of degree at most ml on level l.
The advantage of the first option, Bl = Ll , is that it can be easily constructed
and the application of Bl to a vector is inexpensive even if the size of the operator
is very large. According to our analysis for the 1D model problem in subsection 3.2,
the approach is suitable for chl sufficiently small. Typically this is a case for l corresponding to finer grids. However, chl increases with every new level. This may result
in the deterioration of accuracy of the overall MG preconditioning scheme, unless the
size of the coarsest level is kept sufficiently large.
The situation is different for the second option Bl = pml (Ll − c2 Il ). In this case,
applications of Bl may be expensive on finer grids because they require a sequence
of matrix-vector multiplications with large shifted Laplacian operators. However, on
coarser levels, i.e., for larger chl , this is not restrictive because the involved operators are significantly decreased in size compared to the finest level. Additionally,
A710
EUGENE VECHARYNSKI AND ANDREW V. KNYAZEV
as suggested by the analysis in subsection 3.3, if pml (Ll − c2 Il ) represent reasonable
approximations of |Ll − c2 Il | on levels l, one can expect a higher accuracy of the whole
preconditioning scheme compared to the choice Bl = Ll .
Our idea is to combine the two options. Let δ ∈ (0, 1) be a “switching” parameter,
where for finer grids chl < δ. We choose
Ll ,
chl < δ,
(3.35)
Bl =
pml (Ll − c2 Il ), chl ≥ δ.
The polynomials pml (Ll − c2 Il ) are accessed through their action on a vector.
Summarizing our discussion, if started from the finest grid l = s, the following
scheme gives the multilevel extension of the two-grid AV preconditioner defined by
Algorithm 3.1. The subscript l is introduced to match quantities to the corresponding
grid. We assume that the parameters δ, ml , νl and the smoothers Ml are prespecified.
Algorithm 3.2 (AV-MG(rl ): the MG AV preconditioner). Input rl . Output wl .
1. Set Bl by (3.35).
2. Presmoothing. Apply νl smoothing steps, νl ≥ 1:
(i+1)
wl
(3.36)
(i)
(i)
(0)
= wl + Ml−1 (rl − Bl wl ), i = 0, . . . , νl − 1, wl
= 0,
(ν)
where Ml defines a smoother on level l. Set wlpre = wl .
3. Coarse grid correction. Restrict (Rl−1 ) rl −Bl wlpre to the grid l−1, recursively
apply AV-MG, and prolongate (Pl ) back to the fine grid. This delivers the
coarse grid correction added to wlpre :
wl−1 =
(3.37)
L0 − c2 I0 −1 R0 (r1 − B1 wpre ) , l = 1,
1
AV-MG (Rl−1 (rl − Bl wlpre )) ,
l > 1;
wlcgc = wlpre + Pl wl−1 .
(3.38)
4. Postsmoothing. Apply νl smoothing steps:
(3.39)
(i+1)
wl
(i)
(i)
(0)
= wl + Ml−∗ (rl − Bl wl ), i = 0, . . . , νl − 1, wl
= wlcgc ,
(ν )
where Ml and νl are the same as in step 2. Return wl = wlpost = wl l .
The described MG AV preconditioner implicitly constructs a mapping denoted
by r → w = Tmg r, where the operator T = Tmg has the structure
(3.40)
ν
ν
(s−1)
Tmg = I − M −∗ B P Tmg
R I − BM −1 + F
(s−1)
with F as in (3.10) and Tmg
(l)
(3.41)
Tmg
(0)
Tmg
=
=
defined according to the recursion
νl
νl
(l−1)
Il − Ml−∗ Bl Pl Tmg Rl−1 Il − Bl Ml−1 + Fl ,
L0 − c2 I0 −1 , l = 1, . . . , s − 1,
νl
νl
where Fl = Bl−1 − Il − Ml−∗ Bl Bl−1 Il − Bl Ml−1 .
The structure of the multilevel preconditioner T = Tmg in (3.40) is the same as
−1
that of the two-grid preconditioner T = Ttg in (3.10) with LH − c2 IH replaced by
(m−1)
in (3.41). Thus, the symmetry and positive
the recursively defined operator Tmg
ABSOLUTE VALUE PRECONDITIONING
A711
definiteness of T = Tmg follow from the same property of the two-grid operator
∗
through relations (3.41), provided that Pl = αl Rl−1
and the spectral radii of Il −
−1
−∗
Ml Bl and Il − Ml Bl are less than 1 throughout the coarser levels. We remark
that preconditioner (3.40)–(3.41) is nonvariable, i.e., it preserves the global optimality
of PMINRES.
The simplest possible approach for computing w0 in (3.37) is to explicitly construct |L0 − c2 I0 |−1 through the full eigendecomposition of the coarse-level Laplacian
and then apply it to R0 (r1 − B1 w1pre ). An alternative approach is to determine w0 as
a solution of the linear system (L0 − c2 I0 + 2V0 |Λ0 |V0∗ )w0 = R0 (r1 − B1 w1pre ), where
V0 is the matrix of eigenvectors associated with the negative eigenvalues of L0 − c2 I0
contained in the corresponding diagonal matrix Λ0 . In the latter case, the full eigendecomposition of L0 is replaced by the partial eigendecomposition targeting negative
eigenpairs, followed by a linear solve.
Since we use Richardson’s iteration with respect to pml (Ll − c2 Il ) as a smoother
on coarser grids, as motivated by the discussion in subsection 3.3, the guidance for
the choice of the coarsest grid is given by condition (3.25). More specifically, in the
context of the standard coarsening procedure (hl−1 = 2hl ), we select hierarchies of
grids satisfying chl < 1 for l = s, . . . , 1 and ch0 > 1. As shown in the next section,
even for reasonably large c2 , the coarsest-level problems are small.
The parameter δ in (3.35) should be chosen to ensure the balance between computational costs and the quality of the MG preconditioner. In particular, if δ is
reasonably large, then the choices of Bl are dominated by the option Bl = Ll ,
which is inexpensive but may not be suitable for larger shifts on coarser levels.
On the other extreme, if δ is close to zero, then the common choice corresponds to
Bl = pml (Ll − c2 Il ), which provides a better preconditioning accuracy for larger shifts
but may be too computationally intense on finer levels. In our numerical experiments,
we keep δ ∈ [1/3, 3/4].
As we demonstrate in the next section, the degrees ml of the occurring polynomials pml should not be large, i.e., only a few matrix-vector multiplications with Ll −c2 Il
are required to obtain satisfactory approximations of absolute value operators. For
properly chosen δ, these additional multiplications need to be performed on grids that
are significantly coarser than the finest grid, i.e., the involved matrices Ll − c2 Il are
orders of magnitude smaller than the original fine grid operator. As confirmed by
our numerical experiments, the overhead caused by the polynomial approximations
appears to be marginal and does not much affect the computational cost of the overall
preconditioning scheme.
4. Numerical experiments. This section presents a numerical study of the
MG preconditioner in Algorithm 3.2. Our goal here is twofold. On the one hand, the
reported numerical experiments serve as a proof of concept of the AV preconditioning
described in section 2. In particular, we show that the AV preconditioners can be
constructed at essentially the same cost as the standard preconditioning methods (MG
in our case). On the other hand, we demonstrate that the MG AV preconditioner
in Algorithm 3.2 combined with the optimal PMINRES iteration, in fact, leads to
an efficient and economical computational scheme, further called MINRES-AV-MG,
which outperforms several known competitive approaches for the model problem.
Let us briefly describe the alternative preconditioners used for our comparisons.
Throughout, we use MATLAB for our numerical examples.
The inverted Laplacian preconditioner. This strategy, introduced in [2],
is a representative of an SPD preconditioning for model problem (3.2), where the
A712
EUGENE VECHARYNSKI AND ANDREW V. KNYAZEV
Table 4.1
The largest problem sizes satisfying chl ≥ δ for different values of the shift c2 , “switching”
parameters δ, and the standard coarsening scheme hl−1 = 2hl . The last row (δ = 1) corresponds to
the sizes of the coarsest problems for different c2 .
δ = 1/3
δ = 1/2
δ = 3/4
δ=1
c2 = 300
961
961
225
225
c2 = 400
961
961
225
225
c2 = 1500
3969
3969
961
961
c2 = 3000
16129
3969
3969
961
c2 = 4000
16129
3969
3969
961
preconditioner is applied through solving systems Lw = r, i.e., T = L−1 . As has
been previously discussed, for relatively small shifts c2 , the Laplacian L constitutes
a good SPD approximation of |L − c2 I|. In this sense, the choice T = L−1 perfectly
fits, as a special case, into the general concept of the AV preconditioning presented in
section 2. We refer to PMINRES with T = L−1 as MINRES-Laplace.
Usually, one wants to solve the system Lw = r only approximately, i.e., use
T ≈ L−1 . This can be efficiently done, e.g., by applying the V-cycle of a standard
MG method [8, 39]. In our tests, however, we perform the exact solves using the
MATLAB “backslash” so that the reported results reflect the best possible convergence with the inverted Laplacian type preconditioning.
The indefinite MG preconditioner. We consider a standard V-cycle for problem (3.2). Formally, it can be obtained from Algorithm 3.2 by setting Bl = Ll − c2 Il
on all levels and replacing the first equality in (3.37) by the linear solve with L0 −c2 I0 .
The resulting MG scheme is used as a preconditioner for restarted GMRES and for
Bi-CGSTAB. We refer to these methods as GMRES(k)-MG and Bi-CGSTAB-MG,
respectively; k denotes the restart parameter. A thorough discussion of the indefinite
MG preconditioning for Helmholtz problems can be found, e.g., in [13].
In our tests, we consider the 2D model problem (3.2) corresponding to (3.1)
discretized on the grid of size h = 2−8 (the fine problem size n = 65025). The
exact solution x∗ and the initial guess x0 are randomly chosen. The right-hand-side
b = (L − c2 I)x∗ , which allows evaluating the actual errors along the steps of an
iterative method. All the occurring MG preconditioners are built upon the standard
coarsening scheme (i.e., hl−1 = 2hl ), restriction is based on the full weighting, and
prolongation is bases on piecewise multilinear interpolation [8, 39].
Let us recall that Algorithm 3.2 requires setting a parameter δ to switch between
Bl = L and pml (L−c2 I) on different levels; see (3.35). Assuming standard coarsening,
Table 4.1 presents the largest problem sizes corresponding to the condition chl ≥ δ for
a few values of δ and c2 . In other words, given δ and c2 , each cell of Table 4.1 contains
the largest problem size for which the polynomial approximation of |Ll − c2 Il | is
constructed. Unless otherwise explicitly stated, we set δ = 1/3. Note that according to
the discussion in subsection 3.4 (condition (3.25)), the row of Table 4.1 corresponding
to δ = 1 delivers the sizes n0 of the coarsest problems for different shift values.
Table 4.1 shows that the coarsest problems remain relatively small even for large
shifts. The polynomial approximations are constructed for coarser problems of significantly reduced dimensions, which in practical applications are negligibly small
compared to the original problem size.
As a smoother on all levels of Algorithm 3.2 we use Richardson’s iteration, i.e.,
Ml−1 ≡ τl Il . On the finer levels, where Bl = Ll , we choose τl = h2l /5 and νl = 1. On
the coarser levels, where Bl = pml (Ll − c2 Il ), we set τl = h2l /(5 − c2 h2l ) and νl = 5.
A713
ABSOLUTE VALUE PRECONDITIONING
2
2
Bi−CGSTAB−MG
GMRES(5)−MG
MINRES−AV−MG
MINRES−Laplace
Euclidean norm of error
0
10
−5
10
Shift value c = 400 (26 negative eigenvalues)
Euclidean norm of error
Shift value c = 300 (19 negative eigenvalues)
5
10
Bi−CGSTAB−MG
GMRES(10)−MG
MINRES−AV−MG
MINRES−Laplace
0
10
−5
10
−10
−10
10
10
0
10
20
30
40
50
60
0
40
60
80
Iteration number
Shift value c = 1500 (108 negative eigenvalues)
Shift value c = 3000 (222 negative eigenvalues)
Bi−CGSTAB−MG
GMRES(20)−MG
MINRES−AV−MG
MINRES−Laplace
10
0
10
−5
10
2
Euclidean norm of error
2
5
Euclidean norm of error
20
Iteration number
0
10
−5
10
Bi−CGSTAB−MG
GMRES(150)−MG
MINRES−AV−MG
MINRES−Laplace
−10
10
0
100
200
300
Iteration number
400
500
0
100
200
300
400
500
600
700
Iteration number
Fig. 4.1. Comparison of several preconditioned schemes; n = 65025.
Similar to the 1D case considered in subsections 3.2 and 3.3, both choices of
τl correspond to the optimal smoothing of oscillatory eigenmodes with respect to
the 2D operators Ll and |Ll − c2 Il |, respectively [8, 39]. Since pml (Ll − c2 Il ) only
approximates |Ll − c2 Il | in practice, the choice of τl on the coarser grids is likely to be
not optimal. Therefore, for chl ≥ δ, we have increased the number of smoothing steps
to 5. In all tests, the degrees ml of polynomials are set to 10. The intervals containing
Λ(Ll − c2 Il ), required for evaluating pml , are [−c2 , 8h−2
− c2 ]. The inverted coarse
l
grid absolute value |L0 − c2 I0 |−1 is constructed by the full eigendecomposition.
In Figure 4.1, we compare MINRES-AV-MG with the above introduced alternative preconditioned schemes for the model problem. Each plot corresponds to a
different shift value. The restart parameter k varies for all runs of GMRES(k)-MG,
increasing (left to right and top to bottom) as c2 grows from 300 to 3000. In our
tests, the size n0 of the coarsest problem in Algorithm 3.2 is 225 (Figure 4.1, top) and
961 (Figure 4.1, bottom); see Table 4.1 with δ = 1. The same n0 is used for the MG
preconditioner in the corresponding runs of GMRES(k)-MG and Bi-CGSTAB-MG.
Figure 4.1 shows that MINRES-AV-MG noticeably outperforms PMINRES with
the inverted Laplacian preconditioner. For smaller shifts (c2 = 300, 400), MINRESAV-MG is comparable, in terms of the iteration count, to GMRES(k)-MG and
Bi-CGSTAB-MG; k = 5, 10. For larger shifts (c2 = 1500, 3000); however, MINRESAV-MG provides a superior convergence behavior. In particular, the scheme exhibits
faster convergence than GMRES(k)-MG under less demanding storage requirements,
while Bi-CGSTAB-MG fails to converge (k = 50, 150).
If the polynomial approximations in Algorithm 3.2 appear only on sufficiently
coarse grids and the size n0 of the coarsest problem is relatively small, then the additional costs introduced by the coarser grid computations of the AV MG preconditioner
A714
EUGENE VECHARYNSKI AND ANDREW V. KNYAZEV
Table 4.2
Time comparison of the MG preconditioned schemes in Figure 4.1.
tB /tAV
tG /tAV
c2 = 300
1.1
1.4
c2 = 400
1.1
1.3
c2 = 1500
−
2.6
c2 = 3000
−
1.9
are negligible relative to the costs of operations on the finer grids, which are the same
as in the standard V-cycle for the indefinite problem. This means that the complexity
of Algorithm 3.2 is similar to that of the MG preconditioner in GMRES(k)-MG and
Bi-CGSTAB-MG.
To be more precise, in the tests reported in Figure 4.1, bottom, a single application of Algorithm 3.2 has required 15–20% more time than the indefinite MG
preconditioner, even though the polynomial approximations in Algorithm 3.2 have
been constructed for problem sizes as large as 16129 if c2 = 3000, which is of the same
order as the original problem size n. For larger problem sizes, the time difference
becomes negligible. For example, if h = 2−9 (n = 261121), Algorithm 3.2 results in
only 5% time increase, and the relative time difference becomes indistinguishable for
smaller h. The application of all the MG preconditioners in Figure 4.1, top, required
essentially the same time.
The above discussion suggests that our numerical comparison, based on the number of iterations, is representative. Additionally, in Table 4.2 we provide the time
comparisons for the MG preconditioned schemes. In particular, we measure the actual time required by the runs of MINRES-AV-MG (tAV ), GMRES(k)-MG (tG ), and
Bi-CGSTAB-MG (tB ) in Figure 4.1 and report the speed-ups.
We have observed that the performance of GMRES(k)-MG can be improved by
increasing the restart parameter. In Figure 4.1, however, the values k have been chosen
to balance storage and convergence behavior. In particular, we set k to be sufficiently
small, so that the storage required for GMRES(k)-MG is as close as possible to that
of MINRES-AV-MG, while the convergence of the method is not lost. Since BiCGSTAB-MG is based on a short-term recurrence, its storage expenses are similar to
that of MINRES-AV-MG.
The unsatisfactory performance of GMRES(k)-MG in Figure 4.1 can in part be
attributed to the observation that smoothing based on Richardson’s (or, more generally, Jacobi) iteration becomes increasingly unstable as grids coarsen. In particular,
as shown in [13], on the intermediate levels with chl ≥ 1/2 this smoothing scheme
strongly amplifies the smooth error eigenmodes. A straightforward remedy is to invoke
the coarse grid solve on the largest grid that fails to satisfy chl < 1/2.
In Table 4.3, we compare MINRES-AV-MG and GMRES(k)-MG with different
values of the restart parameter. We report the iteration counts required to reduce
Table 4.3
Number of iterations of MINRES-AV-MG (MINR) and GMRES(k)-MG (GMR(k)) required to
reduce the initial error by 10−8 ; n = 65025. The preconditioner in GMRES(k)-MG uses Richardson’s smoothing on levels chl < 1/2 and invokes the coarse grid solve on the level that follows.
Numbers in parentheses correspond to the right preconditioned GMRES(k)-MG. Dash denotes that
the method failed to converge within 1000 steps.
c2 = 1500
c2 = 3000
c2 = 4000
MINR
89
282
310
GMR(5)
29(44)
−(−)
−(−)
GMR(10)
20(22)
−(−)
−(−)
GMR(20)
16(18)
−(−)
−(−)
GMR(25)
16(18)
223(269)
−(−)
GMR(35)
16(18)
69(69)
395(471)
A715
ABSOLUTE VALUE PRECONDITIONING
the initial error by 10−8 for systems with c2 = 1500, 3000, and 4000. The indefinite
MG preconditioner in GMRES(k)-MG is configured to run Richardson’s smoothing
on grids chl < 1/2 and perform the coarse grid solve on the level that follows. We
test the indefinite MG preconditioner in the left (used so far) and right preconditioned
versions of GMRES(k).
The above described setting of the right preconditioned GMRES(k)-MG represents a special case of the Helmholtz solver introduced in [13]. In this paper, instead
of the “early” coarse grid solve, the MG preconditioning scheme performs further
coarsening on levels chl ≥ 1/2 with GMRES used as a smoother. Since the resulting
preconditioner is nonlinear, (the full) FGMRES [33] is used for outer iterations.
It is clear that the results in Table 4.3 provide an insight into the best possible outer iteration counts that can be expected from the restarted version of the
method in [13]. In fact, the same observation is used by the authors of [13] for
hand-tuning the smoothing schedule of their preconditioner to study its best-case
performance. Table 4.3 then demonstrates that regardless of the smoothing schedule
and the smoother’s stopping criterion, the (F)GMRES based solvers, such as the one
in [13], require increasing storage to maintain the convergence as c2 grows, whereas
the robustness of MINRES-AV-MG is not lost under the minimalist memory costs.
Thus, if the shift is large and the amount of storage is limited, so that k is forced
to be sufficiently small, the (F)GMRES(k) outer iterations may fail to converge within
a reasonable number of steps, even if the coarse grid solve in the MG preconditioner
is performed “early.” We note, however, that if storage is available or the shifts are
not too large, the (F)GMRES based methods may represent a valid option.
We have also tested the Bunch–Parlett factorization [18] as a coarse grid solve
in the MG framework. In particular, as a preconditioner for MINRES, we have used
Algorithm 3.2 with Bl = Ll on all levels and the coarsest grid absolute value in (3.37)
replaced by the application of the “perfect” Bunch–Parlett factorization based preconditioner [18]. We have obtained results that are inferior to the schemes considered
in this paper for shifts not too small, e.g., for c2 > 200 if h = 2−8 . The unsatisfactory behavior may be related to the fact that the inverted Laplacian T = L−1 and
−1
the ideal absolute value T = L − c2 I preconditioners share the same eigenvectors
with A = L − c2 I, while the preconditioner from [18] does not.
The standard MG preconditioners, as in GMRES(k)-MG and Bi-CGSTAB-MG,
are known to have optimal costs, linearly proportional to n. As discussed above, the
same is true for the AV preconditioner in Algorithm 3.2. Therefore if in addition the
number of iterations in the iterative solver preconditioned with Algorithm 3.2 does
not depend on the problem size, the overall scheme is optimal.
We verify this optimality in Table 4.4, which shows the mesh-independence of the
convergence of PMINRES with the MG AV preconditioner. The rows of the table
Table 4.4
Mesh-independent convergence of PMINRES with the MG AV preconditioner. The numbers in
parentheses correspond to δ = 3/4. The default value of δ is 1/3.
c2
= 300
c2 = 400
c2 = 1500
c2 = 3000
h = 2−6
31(31)
37(40)
67(97)
228(229)
h = 2−7
31(31)
38(40)
97(119)
222(284)
h = 2−8
30(32)
37(40)
89(109)
279(332)
h = 2−9
30(32)
37(40)
88(108)
256(298)
h = 2−10
30(32)
37(40)
89(106)
257(296)
h = 2−11
30(30)
37(39)
90(107)
256(298)
A716
EUGENE VECHARYNSKI AND ANDREW V. KNYAZEV
Eigenvalues of T|L − c2 I| and T(L − c2 I) for different shifts
3000
3000
Shift value c2
3000
1500
1500
1500
400
400
400
300
0
1
10 10
2
Λ(T|L − c I|)
300
0
−10
300
−1
0
−10
10
2
Λ(T(L − c I))<0
1
10
2
Λ(T(L − c I))>0
Fig. 4.2. Spectrum of T L − c2 I (left), negative eigenvalues of T L − c2 I (center), and
2
positive eigenvalues of T L − c I (right); n = 16129.
Table 4.5
Number of eigenvalues λj that equal the upper/lower bound in (2.4) up to machine precision.
Upper
Lower
c2 = 300
0
0
c2 = 400
15
0
c2 = 1500
1
10
c2 = 3000
115
0
correspond to the shift values c2 , while the columns match the mesh size h. The cell
in the intersection contains the numbers of steps performed to achieve the decrease
by the factor 10−8 in the error 2-norm with the choices of the “switching” parameter
δ = 1/3 and δ = 3/4.
As previously, the size of the coarsest grid has been set according to Table 4.1 with
δ = 1. We conclude that the convergence does not slow with the decrease of h; thus,
PMINRES preconditioned by Algorithm 3.2 is optimal. Note that for larger shifts,
c2 = 1500 and c2 = 3000, mesh-independent convergence occurs for h sufficiently
small when the “switching” pattern is stabilized, i.e., Bl = Ll on a few finer grids and
Bl = pml (Ll − c2 Il ) on the coarser grids that follow.
Table 4.4 shows that as c2 grows, the increase in the iteration count is mild and
essentially linear. As expected, the smaller value of δ, which leads to the construction
of the polynomial approximations earlier on finer levels, results in a higher accuracy
of the AV preconditioner.
Finally, in Figure 4.2 we plot the eigenvalues of T L − c2 I and T (L − c2 I) for
different shift values using the logarithmic
scale;
n = 16129. As suggested by Corol
lary 2.5, clusters of eigenvalues of T L − c2 I are preserved in the spectrum of the
preconditioned matrix T (L − c2 I). Almost all eigenvalues of T (L − c2 I) are clustered
around −1 and 1, with only a few falling outside the clusters. We note that the
clustering and the condition number κ(T |A|) deteriorate as c2 increases from 300 to
3000, which is compatible with the results in Table 4.4.
The spectra computed in Figure 4.2 allow validating numerically the tightness of
bounds (2.4) in Theorem 2.3 for the MG AV preconditioner. In Table 4.5, we report
the number of eigenvalues λj of T (L − c2 I) that satisfy either the upper or the lower
bound up to machine precision. The table shows that the bound is numerically sharp.
5. Conclusions. We propose a new approach for SPD preconditioning for symmetric indefinite systems based on the idea of implicitly constructing approximations to the inverse of the system matrix absolute value. An MG example of such
a preconditioner is presented for a real-valued Helmholtz problem. Our experiments
demonstrate that PMINRES with the new MG AV preconditioner leads to an efficient
ABSOLUTE VALUE PRECONDITIONING
A717
iterative scheme, which has modest memory requirements and outperforms traditional
GMRES based methods if available memory is tight.
Acknowledgments. The authors thank Michele Benzi, Yvan Notay, and Joe
Pasciak for their comments on the draft of the manuscript.
REFERENCES
[1] T. Airaksinen, E. Heikkola, and A. Pennanen, An algebraic multigrid based shiftedLaplacian preconditioner for the Helmholtz equation, J. Comput. Phys., 226 (2007),
pp. 1196–1210.
[2] A. Bayliss, C. I. Goldstein, and E. Turkel, An iterative method for the Helmholtz equation,
J. Comput. Phys., 49 (1983), pp. 443–457.
[3] M. Benzi, G. H. Golub, and J. Liesen, Numerical solution of saddle point problems, Acta
Numer., 14 (2005), pp. 1–137.
[4] J. H. Bramble, Z. Leyk, and J. E. Pasciak, Iterative schemes for nonsymmetric and indefinite elliptic boundary value problems, Math. Comp., 60 (1993), pp. 1–22.
[5] J. H. Bramble and X. Zhang, The analysis of multigrid methods, in Solution of Equation in
Rn (Part 3), Techniques of Scientific Computing (Part 3), Handb. Numer. Anal. 7, Elsevier,
Amsterdam, 2000, pp. 173–415.
[6] M. Bollhöfer, M. J. Grote, and O. Schenk, Algebraic multilevel preconditioner for
the Helmholtz equation in heterogeneous media, SIAM J. Sci. Comput., 31 (2009),
pp. 3781–3805.
[7] A. Brandt and S. Ta’asan, Multigrid method for nearly singular and slightly indefinite
problems, in Multigrid Methods II, Lecture Notes in Math. 1228, Springer, Berlin, 1986,
pp. 99–121.
[8] W. L. Briggs, V. E. Henson, and S. F. McCormick, A Multigrid Tutorial, SIAM,
Philadelphia, 2000.
[9] J. R. Bunch and B. N. Parlett, Direct methods for solving symmetric indefinite systems of
linear equations, SIAM J. Numer. Anal., 8 (1971), pp. 639–655.
[10] E. G. D’yakonov, Optimization in Solving Elliptic Problems, CRC Press, Boca Raton, FL,
1996.
[11] J. Erhel, F. Guyomarc, and Y. Saad, Least-Squares Polynomial Filters for Ill-Conditioned
Linear Systems, Report UMSI-2001-32, Minnesota Supercomputer Institute, University of
Minnesota, Minneapolis, 2001.
[12] Y. A. Erlangga, C. Vuik, and C. W. Oosterlee, On a class of preconditioners for solving
the Helmholtz equation, Appl. Numer. Math, 50 (2004), pp. 409–425.
[13] H. C. Elman, O. G. Ernst, and D. O’Leary, A multigrid method enhanced by Krylov subspace
iteration for discrete Helmholtz equations, SIAM J. Sci. Comput., 23 (2001), pp. 1291–1315.
[14] H. C. Elman, D. J. Silvester, and A. J. Wathen, Finite Elements and Fast Iterative Solvers
with Applications in Incompressible Fluid Dynamics, Oxford University Press, Oxford,
UK, 2005.
[15] V. Faber and T. Manteuffel, Necessary and sufficient conditions for the existence of a
conjugate gradient method, SIAM J. Numer. Anal., 21 (1984), pp. 352–362.
[16] B. Fischer, A. Ramage, D. J. Silvester, and A. J. Wathen, Minimum residual methods for
augmented systems, BIT, 38 (1998), pp. 527–543.
[17] R. W. Freund and N. M. Nachtigal, QMR: A quasi-minimal residual method for nonHermitian linear systems, Numer. Math., 60 (1991), pp. 315–339.
[18] P. E. Gill, W. Murray, D. B. Ponceleón, and M. A. Saunders, Preconditioners for indefinite systems arising in optimization, SIAM J. Matrix Anal. Appl., 13 (1992), pp. 292–311.
[19] G. H. Golub and C. F. Van Loan, Matrix Computations, Johns Hopkins University Press,
Baltimore, MD, 1996.
[20] A. Greenbaum, V. Pták, and Z. Strakoš, Any nonincreasing convergence curve is possible
for GMRES, SIAM J. Matrix Anal. Appl., 17 (1996), pp. 465–469.
[21] E. Haber and S. MacLachlan, A fast method for the solution of the Helmholtz equation,
J. Comp. Phys., 230 (2011), pp. 4403–4418.
[22] I. Harari and T. J. R. Hughes, Finite element method for the Helmholtz equation in an
exterior domain, Comput. Methods Appl. Mech. Engrg., 87 (1991), pp. 59–96.
[23] N. J. Higham, Functions of Matrices: Theory and Computation, SIAM, Philadelphia, 2008.
[24] R. A. Horn and C. R. Johnson, Topics in Matrix Analysis, Cambridge University Press, New
York, 1994.
A718
EUGENE VECHARYNSKI AND ANDREW V. KNYAZEV
[25] A. L. Laird and M. B. Giles, Preconditioned Iterative Solution of the 2D Helmholtz Equation,
Oxford University Computing Laboratory, Oxford, UK, 2002.
[26] J. Nocedal and S. Wright, Numerical Optimization, Springer, Berlin, 1999.
[27] D. Osei-Kuffuor and Y. Saad, Preconditioning Helmholtz linear systems, Appl. Numer.
Math., 60 (2010), pp. 420–431.
[28] C. C. Paige and M. A. Saunders, Solution of sparse indefinite systems of linear equations,
SIAM J. Numer. Anal., 12 (1975), pp. 617–629.
[29] B. N. Parlett, The Symmetric Eigenvalue Problem, SIAM, Philadelphia, 1998.
[30] M. J. D. Powell, Approximation Theory and Methods, Cambridge University Press, New York,
1981.
[31] T. J. Rivlin, An Introduction to the Approximation of Functions, Dover, New York, 1981.
[32] Y. Saad, Filtered conjugate residual-type algorithms with applications, SIAM J. Matrix Anal.
Appl., 28 (2006), pp. 845–870.
[33] Y. Saad, A flexible inner-outer preconditioned GMRES algorithm, SIAM J. Sci. Comput., 14
(1993), pp. 461–469.
[34] Y. Saad, Iterative Methods for Sparse Linear Systems, SIAM, Philadelphia, 2003.
[35] Y. Saad and M. H. Schultz, GMRES: A generalized minimal residual algorithm for solving
nonsymmetric linear systems, SIAM J. Sci. Statist. Comput., 7 (1986), pp. 856–869.
[36] G. L. G. Sleijpen and H. A. van der Vorst, A Jacobi–Davidson iteration method for linear
eigenvalue problems, SIAM J. Matrix Anal. Appl., 17 (1996), pp. 401–425.
[37] D. J. Silvester and A. J. Wathen, Fast iterative solution of stabilised Stokes systems II:
Using general block preconditioners, SIAM J. Numer. Anal., 31 (1994), pp. 1352–1367.
[38] O. Tatebe, The multigrid preconditioned conjugate gradient method, in Proceedings of the
Sixth Copper Mountain Conference on Multigrid Methods, 1993, pp. 621–634.
[39] U. Trottenberg, C. W. Oosterlee, and A. Schüller, Multigrid, Academic Press,
New York, 2001.
[40] M. B. van Gijzen, Y. A. Erlangga, and C. Vuik, Spectral analysis of the discrete Helmholtz
operator preconditioned with a shifted Laplacian, SIAM J. Sci. Comput., 29 (2007),
pp. 1942–1958.
[41] H. A. van der Vorst, Bi-CGSTAB: A fast and smoothly converging variant of Bi-CG for
the solution of nonsymmetric linear systems, SIAM J. Sci. Statist. Comput., 13 (1992),
pp. 631–644.
[42] E. Vecharynski, Preconditioned Iterative Methods for Linear Systems, Eigenvalue and Singular Value Problems, Ph.D. thesis, University of Colorado, Denver, 2010.
[43] E. Vecharynski and J. Langou, Any admissible cycle-convergence behavior is possible
for restarted GMRES at its initial cycles, Numer. Linear Algebra Appl., 18 (2011),
pp. 499–511.
[44] A. J. Wathen and D. J. Silvester, Fast iterative solution of stabilized Stokes systems I: Using
simple diagonal preconditioners, SIAM J. Numer. Anal., 30 (1993), pp. 630–649.
[45] Y. Zhou, Y. Saad, M. L. Tiago, and J. R. Chelikowsky, Self-consistent-field calculation
using Chebyshev-filtered subspace iteration, J. Comput. Phys., 219 (2006), pp. 172–184.