EFFICIENT ALGEBRAIC TWO-LEVEL SCHWARZ
PRECONDITIONER FOR SPARSE MATRICES∗
HUSSAM AL DAAS†, PIERRE JOLIVET‡,AND TYRONE REES†
Abstract. Domain decomposition methods are among the most eﬃcient for solving sparse linear
systems of equations. Their eﬀectiveness relies on a judiciously chosen coarse space. Originally
introduced and theoretically proved to be eﬃcient for self-adjoint operators, spectral coarse spaces
have been proposed in the past few years for indeﬁnite and non-self-adjoint operators. This paper
presents a new spectral coarse space that can be constructed in a fully-algebraic way unlike most
existing spectral coarse spaces. We present theoretical convergence result for Hermitian positive
deﬁnite diagonally dominant matrices. Numerical experiments and comparisons against state-
of-the-art preconditioners in the multigrid community show that the resulting two-level Schwarz
preconditioner is eﬃcient especially for non-self-adjoint operators. Furthermore, in this case, our
proposed preconditioner outperforms state-of-the-art preconditioners.
Key words. Algebraic domain decomposition, Schwarz preconditioner, sparse linear systems,
diagonally dominant matrices.
1. Introduction. In this paper, we develop an algebraic overlapping Schwarz
preconditioner for the linear system of equations
for a sparse matrix A∈Cn×nand a given vector b∈Cn. Solving sparse linear
systems of equations is omnipresent in scientiﬁc computing. Direct approaches, based
on Gaussian elimination, have proved to be robust and eﬃcient for a wide range of
problems . However, the memory required to apply sparse direct methods often
scales poorly with the problem size, particularly for three-dimensional discretizations
of partial diﬀerential equations (PDEs). Furthermore, the algorithms underpinning
sparse direct software are poorly suited to parallel computation, which makes them
diﬃcult to adapt to emerging computing architectures.
Iterative methods for solving linear systems  have been an active research topic
since early computers’ days. Their simple structure, at their most basic level requiring
only matrix-vector multiplication and vector-vector operations, makes them attractive
for tackling large-scale problems. However, since the convergence rate depends on the
properties of the linear system, iterative methods are not, in general, robust. For the
class of iterative methods known as Krylov subspace methods, we may alleviate this by
applying a preconditioner, which transforms the problem into one with more favorable
numerical properties. The choice of preconditioner is usually problem-dependent,
and a wide variety of preconditioning techniques have been proposed to improve the
convergence rate of iterative methods, see for example the recent survey  and the
Multilevel domain decomposition (DD) and multigrid methods are widely used
preconditioners [21,47,52,53,54]. They have proved to be eﬀective on a wide variety
of matrices, but they are especially well suited to sparse Hermitian positive deﬁnite
(HPD) matrices arising from the discretization of PDEs. Their eﬃciency stems from
∗Submitted to the editors January 6, 2022.
†STFC Rutherford Appleton Laboratory, Harwell Campus, Didcot, Oxfordshire, OX11 0QX, UK
‡CNRS, ENSEEIHT, 2 rue Charles Camichel, 31071 Toulouse Cedex 7, France
2H. AL DAAS, P. JOLIVET, AND T. REES
a judicious combination of a cheap ﬁne-level solver with a coarse-space correction. In
the last two decades, there has been a great advance in the development of spectral
coarse spaces that yield eﬃcient preconditioners. Spectral coarse spaces were initially
proposed in the multigrid community for elliptic PDEs with self-adjoint operators [15,
19,24,34], and similar ideas were later picked up by the DD community for the same
kind of problems [2,3,4,7,33,32,40,48,49]. The past three years have seen several
approaches to tackle symmetric indeﬁnite systems and non-self-adjoint problems. For
example, spectral coarse spaces for least squares problems and symmetric indeﬁnite
saddle-point systems were proposed in [5,39], where the problem is returned into the
framework of self-adjoint operators. An exciting new development is that a number of
multigrid methods and spectral coarse spaces have been suggested for problems with
indeﬁnite or non-self-adjoint operators [9,10,11,12,13,14,22,36,37]. These coarse
spaces are mainly based on heuristics and show eﬃciency on several challenging model
problems arising from discretized PDEs.
A variety of mathematical tools such as the ﬁctitious subspace lemma  and
local Hermitian positive semi-deﬁnite (HPSD) splitting matrices  are now available
to analyze and propose eﬀective coarse spaces for self-adjoint operators. However,
these tools may not be directly used for indeﬁnite or non-self-adjoint operators. An
alternative approach to studying the convergence of DD methods in the indeﬁnite or
non-self-adjoint case is to use Elman’s theory  of GMRES convergence, see for
In this work, we propose a fully-algebraic spectral coarse space for the two-level
Schwarz preconditioner for general sparse matrices. We review the overlapping DD
framework in section 2, including a summary of the main features of local HPSD
splitting matrices. For each subdomain, we introduce the local block splitting using
lumping in the overlap of a sparse matrix in section 3. The coarse space is then
constructed by solving locally and concurrently a generalized eigenvalue problem
involving the local block splitting matrix and the local subdomain matrix. In the
case where the matrix is HPD diagonally dominant, we prove that the local block
splitting matrices are local HPSD splitting matrices, and in that case we show that one
can bound the condition number of the preconditioned matrix from above by a user-
deﬁned number. Based on this heuristic, we generalize our approach for other cases.
Unlike most existing spectral coarse spaces, especially those suggested for indeﬁnite
or non-self-adjoint operators, we obtain the matrices involved in the local generalized
eigenvalue problem eﬃciently from the coeﬃcient matrix; the preconditioner is
therefore fully-algebraic. In order to assess the proposed preconditioner, we provide
in section 4 a set of numerical experiments on problems arising from a wide range of
applications including convection-diﬀusion equation and other linear systems from the
SuiteSparse Collection . Furthermore, we compare our proposed preconditioner
against state-of-the-art preconditioners in the multigrid community. Finally, we give
concluding remarks and future lines of research in section 5.
Notation. Let 1 ≤n≤mand let M∈Cm×nbe a complex sparse matrix. Let
J1, pKdenote the set of the ﬁrst ppositive integers, and let S1⊂J1, mKand S2⊂J1, nK.
M(S1,:) is the submatrix of Mformed by the rows whose indices belong to S1and
M(:, S2) is the submatrix of Mformed by the columns whose indices belong to S2.
M(S1, S2) denotes the submatrix formed by taking the rows whose indices belong
to S1and only retaining the columns whose indices belong to S2. [S1, S2] means
the concatenation of any two sets of integers S1and S2, where the order of the
concatenation is important. Inis the identity matrix of size n, the transpose matrix
of Mis denoted M>, and the adjoint of M, denoted MH, is the conjugate transpose
ALGEBRAIC PRECONDITIONER FOR SPARSE MATRICES 3
of M, i.e., MH=¯
M>.ker(M) and range(M) denote the null space and the range
of M, respectively.
2. Domain decomposition. Consider G(A), the adjacency graph of the
coeﬃcient matrix in (1), and number its nodes, V, from 1 to n. Using a graph
partitioning algorithm, we split Vinto Nnnonoverlapping subdomains, i.e.,
disjoint subsets ΩIi ,i∈J1, N K, of size nIi. Let ΩΓibe the subset, of size nΓi, of
nodes that are distance one in G(A) from the nodes in ΩI i,i∈J1, N K. We deﬁne
the overlapping subdomain, Ωi, as Ωi= [ΩIi ,ΩΓi], with size ni=nΓi+nIi . The
complement of Ωiin J1, nKis denoted by Ωci.
Associated with ΩI i is a restriction (or projection) matrix RI i ∈RnIi ×ngiven by
RIi =In(ΩI i,:). RI i maps from the global domain to subdomain ΩI i. Its transpose
Ii is a prolongation matrix that maps from subdomain ΩIi to the global domain.
Similarly, we deﬁne Ri=In(Ωi,:) as the restriction operator to the overlapping
We deﬁne the one-level Schwarz preconditioner as
where we assume Aii =RiAR>
iis nonsingular for i∈J1, N K.
Applying this preconditioner to a vector involves solving concurrent local
problems in each subdomain. Increasing Nreduces the size of the subdomains, leading
to smaller local problems and, correspondingly, faster computations. However, in
practice, preconditioning by M−1
ASM alone is often not be enough for convergence of
the iterative solver to be suﬃciently rapid. We can improve convergence, while still
maintaining robustness with respect to N, by applying a suitably chosen coarse space,
or second-level [2,8,21,27].
Let R ⊂ Cnbe a subspace of dimension 0 < n0nand let R0∈Cn0×n
be a matrix such that the columns of RH
0span the subspace R. Assuming that
0is nonsingular, we deﬁne the two-level Schwarz preconditioner as
Such preconditioners have been used to solve a large class of systems arising from
a range of engineering applications (see, for example, [3,5,29,35,38,47,51] and
We denote by Di∈Rni×ni,i∈J1, NK, any non-negative diagonal matrices such
We refer to (Di)1≤i≤Nas an algebraic partition of unity.
Variants of one- and two-level preconditioners. The so-far presented Schwarz
preconditioners are the additive one-level (2.1) and the additive two-level based on
additive coarse space correction (2.2). It was noticed in  that scaling the one-level
Schwarz preconditioner by using the partition of unity yields faster convergence. The
resulting one-level preconditioner is referred to as restricted additive Schwarz and is
4H. AL DAAS, P. JOLIVET, AND T. REES
Furthermore, there is a number of ways of how to combine the coarse space with a
one-level preconditioner such as the additive, deﬂated, and balanced combinations,
see for example . Given a one-level preconditioner M−1
?, where the subscript ?
stands for either ASM or RAS, the two-level preconditioner with additive coarse space
correction is deﬁned as
The two-level preconditioner based on a deﬂated coarse space correction is
Due to its simple form, the additive two-level Schwarz based on the additive coarse
space correction is the easiest to analyze. However, we observe that the deﬂated
variant combined with the restricted additive Schwarz preconditioner has better
performance in practice. The theory and presentation in this work employs the
additive two-level Schwarz preconditioner using an additive coarse space correction,
however, all numerical experiments involving the proposed preconditioner employ the
restricted additive two-level Schwarz with deﬂated coarse space correction so that the
two-level preconditioner used in section 4 reads as
Note that the aforementioned variants are agnostic to the choice of the partitioning
and the coarse space. That is, once the restriction operators to the subdomains and
the coarse space are set, all these variants are available.
Local HPSD splitting matrices of sparse HPD matrix. A local HPSD matrix
associated with subdomain iis any HPSD matrix of the form
where Pi=In(ΩIi ,ΩΓi,Ωci,:) is a permutation matrix, AI i =A(ΩIi ,ΩIi ), AIΓ,i =
ΓI,i =A(ΩI i,ΩΓi), and e
AΓ,i is any HPSD matrix such that the following inequality
Aiu≤u>Au, u ∈Cn.
First presented and analyzed in , local HPSD splitting matrices provide
a framework to construct robust two-level Schwarz preconditioners for sparse
HPD matrices. Recently, this has led to the introduction of robust multilevel
Schwarz preconditioners for ﬁnite element SPD matrices , sparse normal equations
matrices , and sparse general SPD matrices .
3. Two-level Schwarz preconditioner for sparse matrices. We present in
this section the construction of a two-level preconditioner for sparse matrices. First,
we introduce a new local splitting matrix associated with subdomain ithat uses local
ALGEBRAIC PRECONDITIONER FOR SPARSE MATRICES 5
values of Ato construct a preconditioner which is cheap to setup. In the special chase
where Ais HPD diagonally dominant, we prove that these local matrices are local
HPSD splitting matrices of A. We demonstrate that these matrices, when used to
construct a GenEO-like coarse space, produce a two-level Schwarz preconditioner that
outperforms existing two-level preconditioners in many applications, particularly in
the diﬃcult case where Ais not positive deﬁnite.
3.1. Local block splitting matrices of Ausing lumping in the overlap.
Definition 3.1. Local block splitting matrix. Given the overlapping partitioning
of Apresented in section 2, we have for each i∈J1, NK
Let sibe the vector whose jth component is the sum of the absolute values of the jth
row of AΓci, and let Si= diag(si). Deﬁne e
AΓi=AΓi−Si. The local block splitting
matrix of Aassociated with subdomain iis deﬁned to be e
Aii =AIi AIΓi
Note that we only require the sum of the absolute values of each row in the
local matrix AΓcito construct the local block splitting matrix of Aassociated with
subdomain i. Then, each of these values is subtracted from the corresponding diagonal
entry of the local matrix AΓi. We can therefore construct e
Aii cheaply and concurrently
for each subdomain.
The following lemma shows that if Ais HPD diagonally dominant, the local
splitting matrices deﬁned in Deﬁnition 3.1 are local HPSD splitting matrices.
Lemma 3.2. Let Abe HPD diagonally dominant. The local block splitting matrix
Aideﬁned in Deﬁnition 3.1 is local HPSD splitting matrix of Awith respect to
Proof. First, note that the jth diagonal element of e
Ai(j, j) =
A(j, j) if j∈ΩIi ,
A(j, j)−si(j) if j∈ΩΓi,
0 if j∈Ωci,
where siis the vector whose jth component is the sum of the absolute values of the jth
row of AΓci. Therefore, by construction, e
Aiis Hermitian diagonally dominant, hence
HPSD. Furthermore, A−e
Aiis Hermitian and diagonally dominant, hence HPSD.
By the local structure of e
Ai, we conclude it is HPSD splitting of Awith respect to
3.2. Coarse space. In this section we present a coarse space for the two-level
Schwarz preconditioner. For each i∈J1, N K, given the local nonsingular matrix
Aii, the local splitting matrix e
i, and the partition of unity matrix Di,
let Li=ker (DiAii Di) and Ki=ker e
Aii. Now, deﬁne the following generalized
ﬁnd (λ, u)∈C×Cnisuch that
6H. AL DAAS, P. JOLIVET, AND T. REES
where Πiis the projection on range e
Given a number τ > 0, the coarse space we propose is deﬁned to be the space
generated by the columns of the matrix
1D1Z1· · · R>
where Ziis the matrix whose columns form a basis of the subspace
(3.2) (Li∩Ki)⊥Ki⊕span u|ΠiDiAiiDiΠiu=λe
where (Li∩Ki)⊥Kiis the complementary subspace of (Li∩Ki) inside Ki.
Note that in the case where Ais sparse HPD diagonally dominant, e
Aiis a local
HPSD splitting matrix of A, and the deﬁnition of the coarse space matches the one
deﬁned in . Therefore, the two-level Schwarz preconditioner using the coarse space
deﬁned guarantees an upper bound on the condition number of the preconditioned
ASM,additiveA)≤(kc+ 1) 2 + (2kc+ 1)km
where kcis the number of colors required to color the graph of Asuch that each
two neighboring subdomains have diﬀerent colors and kmis the maximum number
of overlapping subdomains sharing a row of A. Therefore, when Ais sparse HPD
diagonally dominant, the upper bound on κ2(M−1
ASM,additiveA) is independent of Nand
can be controlled by using the value τ.
4. Numerical experiments. In this section, we validate the eﬀectiveness of
the two-level method when compared to other preconditioners. Table 1 presents
a comparison between four preconditioners: M−1
deflated (2.4), BoomerAMG ,
GAMG , and AGMG . The results are for the right-preconditioned GMRES 
with a restart parameter of 30 and a relative tolerance set to 10−8. We highlight
the fact that our proposed preconditioner can handle unstructured systems, not
necessarily stemming from standard PDE discretization schemes, by displaying some
nonzero patterns in Figure 1. For preconditioners used within PETSc  (all except
AGMG), the systems are solved using 256 MPI processes. After loading them from
disk, their symmetric part AT+Ais ﬁrst renumbered by ParMETIS . The resulting
permutation is then applied to Aand the corresponding linear systems are solved using
a random right-hand side. The initial guess is always zero. The code that implements
these steps is given in Appendix A. For our DD method, we leverage the PCHPDDM
framework  which is used to assemble spectral coarse spaces using (3.1). The new
option -pc_hpddm_block_splitting, introduced in PETSc 3.17, is used to compute
the local splitting matrices of Afrom subsection 3.1. At most 60 eigenpairs are
computed on each subdomain and the threshold parameter τfrom (3.2) is set to 0.3.
These parameters were found to provide good numerical performance after a very
quick trial-and-error approach on a single problem. We did not want to adjust them
for each problem individually, but it will be shown next that they are ﬁne overall
without additional tuning.
Furthermore, a single subdomain is mapped to each process, i.e., N= 256
in (2.3). Eventually, exact subdomain and second-level operator LU factorizations
ALGEBRAIC PRECONDITIONER FOR SPARSE MATRICES 7
Preconditioner comparison. Iteration counts are reported. M−1
deﬂated is the restricted two-level
overlapping Schwarz preconditioner as in (2.4). No value denotes iteration count exceeds 100.
†denotes either a failure in constructing the preconditioner or a breakdown in GMRES. ‡denotes
the problem is complex valued and the preconditioner is unavailable. Matrix identiﬁers that are
emphasized correspond to symmetric matrices, otherwise matrices are non-self-adjoint.
Identiﬁer nnnz(A) AGMG BoomerAMG GAMG M−1
light in tissue 29,282 406,084 15 ‡53 67,230
ﬁnan512 74,752 596,992 9 7 8 62,591
consph 83,334 6,010,480 93 31,136
Dubcova3 146,689 3,636,643 72 71 721,047
CO 221,119 7,666,057 25 26 56,135
nxp1 414,604 2,655,880 † † † 20 19,707
CoupCons3D 416,800 17,277,420 †26 20 28,925
parabolic fem 525,825 3,674,625 12 8 16 524,741
Chevron4 711,450 6,376,412 ‡ † 522,785
apache2 715,176 4,817,870 14 11 35 845,966
tmt sym 726,713 5,080,961 14 10 17 528,253
tmt unsym 917,825 4,584,801 23 13 18 632,947
ecology2 999,999 4,995,991 18 12 18 634,080
thermal2 1,228,045 8,580,313 18 14 20 26 40,098
atmosmodj 1,270,432 8,814,880 †8 17 776,368
G3 circuit 1,585,478 7,660,826 25 12 35 871,385
Transport 1,602,111 23,487,281 18 10 98 976,800
memchip 2,707,524 13,343,948 †15 †36 57,942
circuit5M dc 3,523,317 14,865,409 †57 8,629
Fig. 1.Nonzero sparsity pattern of some of the test matrices from Table 1.
(a) nxp1, n= 4.1·105(b) CoupCons3D, n= 4.2·105(c) memchip, n= 2.7·106
A convection-diﬀusion problem will now be investigated. It reads:
∇ · (V u)−ν∇ · (κ∇u) = 0 in Ω
u= 0 in Γ0
u= 1 in Γ1.
The problem is SUPG-stabilized  and discretized by FreeFEM . It is important
to keep in mind that the proposed preconditioner is algebraic, thus there is no speciﬁc
transfer of information from the discretization kernel to solver backend. The domain
Ω is either the unit square or the unit cube meshed semi-structurally to account for
boundary layers, see an example of such a mesh in Figure 3a. The value of νis
8H. AL DAAS, P. JOLIVET, AND T. REES
Iteration counts of the proposed preconditioner for solving the two- and three-dimensional
convection-diﬀusion problem from (4.1) with order kLagrange ﬁnite element space. The number of
subdomains is Nand the size of the discrete system is n. After each iteration count for each ν, the
size of second-level operator is typeset between parentheses.
Dimension k N n ν
2 1 1,024 6.3·10623 (52,875) 20 (52,872) 19 (52,759) 20 (47,497) 21 (28,235)
3 2 4,096 8.1·10618 (1.8·105)14 (1.8·105)11 (1.6·105)16 (97,657) 29 (76,853)
Iteration counts of GAMG for solving the two- and three-dimensional convection-diﬀusion
problem from (4.1).†denotes either a failure to converge or a breakdown in GMRES.
2 6.3·10642 48 88 † †
3 8.1·10640 38 65 † †
constant in Ω. The value of κis given in Figure 3b. The value of the velocity ﬁeld V
V(x, y) = x(1 −x)(2y−1)
−y(1 −y)(2x−1)or V(x, y, z) =
in 2D and 3D, respectively. These are standard values taken from the literature .
The deﬁnition of Γ0and Γ1may be inferred by looking at the two- and three-
dimensional solutions in Figures 3c to 3e and Figures 3f to 3h, respectively. The
iteration counts reported in Table 2 show that the proposed preconditioner handles
this problem, even as νtends to zero. In 2D, the operator, resp. grid, complexity is
of at most 1.008, resp. 1.43. In 3D, these ﬁgures are 1.02 and 1.7, respectively. For
comparison, GAMG and BoomerAMG iteration counts are also reported in Table 3
and Table 4, respectively.
5. Conclusion. We presented in this work a fully-algebraic two-level Schwarz
preconditioner for large-scale sparse matrices. The proposed preconditioner combines
a classic one-level Schwarz preconditioner with a spectral coarse space. The latter is
constructed eﬃciently by solving concurrently in each subdomain a local generalized
eigenvalue problem whose pencil matrices are obtained algebraically and cheaply
from the local coeﬃcient matrix. Convergence results were obtained for diagonally
dominant HPD matrices. The proposed preconditioner was compared to state-of-the-
art multigrid preconditioners on a set of challenging matrices arising from a wide
range of applications including a convection-dominant convection-diﬀusion equation.
The numerical results demonstrated the eﬀectiveness and robustness of the proposed
preconditioner especially for highly non-symmetric matrices.
Acknowledgments. This work was granted access to the GENCI-sponsored
HPC resources of TGCC@CEA under allocation A0110607519.
ALGEBRAIC PRECONDITIONER FOR SPARSE MATRICES 9
Fig. 2.(a) Mesh, (b) diﬀusivity coeﬃcient, and solutions of some of the (c)–(e) two- and
(f)–(h) three-dimensional test cases from Table 2.
(a) Semi-structured mesh
(b) Diﬀusivity coeﬃcient κ
(c) ν= 1
0 0.2 0.4 0.6 0.8 1
(d) ν= 10−2(e) ν= 10−4
(f) ν= 1 (g) ν= 10−2(h) ν= 10−4
Iteration counts of BoomerAMG for solving the two- and three-dimensional convection-diﬀusion
problem from (4.1).†denotes either a failure to converge or a breakdown in GMRES.
2 6.3·10650 49 19 7 †
3 8.1·10612 9 7 † †
10 H. AL DAAS, P. JOLIVET, AND T. REES
Appendix A. Code reproducibility.
1#include < p et s c . h >
st a ti c c h ar h el p  = " S ol v es a li n ea r s y st e m a fte r h a vi n g r e pa r t it i o ned it s
sy m m et r i c p ar t . \ n \ n ";
in t main( int ar gc ,char * * ar g s )
Ve c b ;
Ma t A , pe r m ;
KS P k sp ;
IS i s , ro w s ;
11 PetscBool fl g ;
char name[ PETSC_MAX_PATH_LEN] ;
MatPartitioning mp a rt ;
ierr = Pe t s cI n it i a li z e (& a rg c , & ar gs ,NU LL , h el p ) ; if (ierr)return ierr;
ierr = Ma t Cr e at e ( PETSC_COMM_WORLD ,& A ) ; CHKERRQ (ierr) ;
ierr = PetscOptionsGetString(N ULL ,N UL L ,"- m a t_ n a me " ,n am e , sizeof ( na m e ) ,& f l g );
if ( ! f lg ) S E TE R RQ ( PETSC_COMM_WORLD ,PETSC_ERR_USER ," M is s in g - m a t_ n a me ") ;
21 ierr = PetscViewerBinaryOpen(P ET SC_ CO MM_ WO RL D ,n am e , FILE_MODE_READ ,& v i ew e r );
ierr = Ma t Lo a d (A , v ie w er ) ; CHKERRQ(ierr ) ;
ierr = P et s cV i ew e rD e s tr o y (& v i ew e r ); CHKERRQ (ierr) ;
ierr = KS P Cr e at e ( PETSC_COMM_WORLD ,& ks p ) ; CHKERRQ(ierr );
ierr = MatPartitioningCreate(P ET SC _C OM M_WO RLD , & m pa r t ); CHKERRQ (ierr) ;
Ma t B , T ;
ierr = MatTranspose(A, MAT_INITIAL_MATRIX ,& T ) ; CHKERRQ(ierr ) ;
ierr = MatDuplicate(A, MAT_COPY_VALUES ,& B ) ; CHKERRQ(ierr ) ;
ierr = MatAXPY(B,1 .0 ,T , DIFFERENT_NONZERO_PATTERN) ; CHKERRQ(ierr );
31 ierr = M at P a r ti t i on i n g Se t A d ja c e n cy ( mp ar t , B) ; CHKERRQ (ierr) ; / / pa r t it i o n A^T + A
ierr = M at P ar t i ti o n in g Se t F ro m O pt i on s ( m p ar t ) ; CHKERRQ(ierr) ;
ierr = M at P a r ti t i o ni n g A p pl y ( m p ar t ,& i s ) ; CHKERRQ(ierr) ;
ierr = Ma t D e st r o y ( & B) ; CHKERRQ (ierr) ;
ierr = Ma t D e st r o y ( & T) ; CHKERRQ (ierr) ;
ierr = M at P ar t i ti o ni n g De s tr o y ( & mp a rt ) ; CHKERRQ(ierr );
ierr = IS B u i l dT w o S id e d ( is , NU LL ,& r o ws ) ; CHKERRQ(ierr) ;
ierr = IS D e s tr o y ( & is ) ; CHKERRQ (ierr) ;
ierr = M at C r e at e S u bM a t r ix ( A , ro ws , ro w s , MAT_INITIAL_MATRIX , & p er m ) ; CHKERRQ(ierr) ;
41 ierr = IS D es t r oy ( & r ow s ) ; CHKERRQ(i er r ) ;
ierr = MatHeaderReplace(A,&perm);CHKERRQ(i e rr ) ; // o n ly ke e p th e p e rm u t ed mat r ix
ierr = K SP S e tF r o mO p t io n s ( k sp ) ; CHKERRQ(ierr ) ; // p a rs e c om ma n d - l i ne o p ti o ns
ierr = KS P S e t O pe r a t o r s ( k sp ,A , A ) ; CHKERRQ (ierr) ;
ierr = Ma t C r ea t e V ec s ( A , NULL , & b ) ; CHKERRQ(ierr);
46 ierr = VecSetRandom(b,NULL) ; CHKERRQ(ierr) ; / / r an d om r ig h t - h an d s id e
ierr = KS P S o lv e ( k sp , b , b ) ; CHKERRQ(ierr );
ierr = KS P D es t r oy (& k s p ); CHKERRQ (i er r );
ierr = Ve c D e st r o y ( & b) ; CHKERRQ (ierr) ;
ierr = Ma t D e st r o y ( & A) ; CHKERRQ (ierr) ;
51 ierr = Pe t s c Fi n a l iz e () ;
 M. F. Adams, H. H. Bayraktar, T. M. Keaveny, and P. Papadopoulos,Ultrascalable
implicit ﬁnite element analyses in solid mechanics with over a half a billion degrees of
freedom, in Proceedings of the 2004 ACM/IEEE Conference on Supercomputing, SC04,
IEEE Computer Society, 2004, pp. 34:1–34:15.
 H. Al Daas and L. Grigori,A class of eﬃcient locally constructed preconditioners based on
coarse spaces, SIAM Journal on Matrix Analysis and Applications, 40 (2019), pp. 66–91.
 H. Al Daas, L. Grigori, P. Jolivet, and P.-H. Tournier,A multilevel Schwarz
preconditioner based on a hierarchy of robust coarse spaces, SIAM Journal on Scientiﬁc
Computing, 43 (2021), pp. A1907–A1928.
ALGEBRAIC PRECONDITIONER FOR SPARSE MATRICES 11
 H. Al Daas and P. Jolivet,A robust algebraic multilevel domain decomposition
preconditioner for sparse symmetric positive deﬁnite matrices, 2021, https://arxiv.org/
 H. Al Daas, P. Jolivet, and J. A. Scott,A robust algebraic domain decomposition
preconditioner for sparse normal equations, 2021, https://arxiv.org/abs/2107.09006.
 S. Balay, S. Abhyankar, M. F. Adams, S. Benson, J. Brown, P. Brune, K. Buschelman,
E. M. Constantinescu, L. Dalcin, A. Dener, V. Eijkhout, W. D. Gropp, V. Hapla,
T. Isaac, P. Jolivet, D. Karpeev, D. Kaushik, M. G. Knepley, F. Kong, S. Kruger,
D. A. May, L. C. McInnes, R. T. Mills, L. Mitchell, T. Munson, J. E. Roman,
K. Rupp, P. Sanan, J. Sarich, B. F. Smith, S. Zampini, H. Zhang, H. Zhang, and
J. Zhang,PETSc web page, 2021, https://petsc.org.
 P. Bastian, R. Scheichl, L. Seelinger, and A. Strehlow,Multilevel spectral domain
decomposition, 2021, https://arxiv.org/abs/2106.06404.
 M. Bonazzoli, X. Claeys, F. Nataf, and P.-H. Tournier,Analysis of the SORAS
domain decomposition preconditioner for non-self-adjoint or indeﬁnite problems, Journal
of Scientiﬁc Computing, 89 (2021), p. 19.
 N. Bootland and V. Dolean,On the Dirichlet-to-Neumann coarse space for solving the
Helmholtz problem using domain decomposition, in Numerical Mathematics and Advanced
Applications ENUMATH 2019, F. J. Vermolen and C. Vuik, eds., Cham, 2021, Springer
International Publishing, pp. 175–184.
 N. Bootland, V. Dolean, I. G. Graham, C. Ma, and R. Scheichl,GenEO coarse spaces
for heterogeneous indeﬁnite elliptic problems, 2021, https://arxiv.org/abs/2103.16703.
 N. Bootland, V. Dolean, I. G. Graham, C. Ma, and R. Scheichl,Overlapping Schwarz
methods with GenEO coarse spaces for indeﬁnite and non-self-adjoint problems, 2021,
 N. Bootland, V. Dolean, P. Jolivet, F. Nataf, S. Operto, and T. P.-H.,Several ways to
achieve robustness when solving wave propagation problems, 2021, https://arxiv.org/abs/
 N. Bootland, V. Dolean, P. Jolivet, and P.-H. Tournier,A comparison of coarse spaces
for Helmholtz problems in the high frequency regime, Computers & Mathematics with
Applications, 98 (2021), pp. 239–253.
 N. Bootland, V. Dolean, F. Nataf, and P.-H. Tournier,Two-level DDM preconditioners
for positive Maxwell equations, 2020, https://arxiv.org/abs/2012.02388.
 M. Brezina, C. Heberton, J. Mandel, and P. Van,An iterative method with convergence
rate chosen a priori, Tech. Report 140, University of Colorado, Denver, 1999.
 A. N. Brooks and T. J. Hughes,Streamline upwind/Petrov–Galerkin formulations for
convection dominated ﬂows with particular emphasis on the incompressible Navier–Stokes
equations, Computer methods in applied mechanics and engineering, 32 (1982), pp. 199–
 X.-C. Cai and M. Sarkis,A restricted additive Schwarz preconditioner for general sparse
linear systems, SIAM Journal on Scientiﬁc Computing, 21 (1999), pp. 792–797.
 X.-C. Cai and O. B. Widlund,Domain decomposition algorithms for indeﬁnite elliptic
problems, SIAM Journal on Scientiﬁc and Statistical Computing, 13 (1992), pp. 243–258.
 T. Chartier, R. D. Falgout, V. E. Henson, J. Jones, T. Manteuffel, S. McCormick,
J. Ruge, and P. S. Vassilevski,Spectral AMGe (ρAMGe), SIAM Journal on Scientiﬁc
Computing, 25 (2003), pp. 1–26.
 T. A. Davis and Y. Hu,The University of Florida sparse matrix collection, ACM Transactions
on Mathematical Software, 38 (2011), pp. 1–28.
 V. Dolean, P. Jolivet, and F. Nataf,An introduction to domain decomposition methods.
Algorithms, theory, and parallel implementation, Society for Industrial and Applied
 V. Dolean, P. Jolivet, P.-H. Tournier, L. Combe, S. Operto, and S. Riffo,Large-scale
ﬁnite-diﬀerence and ﬁnite-element frequency-domain seismic wave modelling with multi-
level domain-decomposition preconditioner, 2021, https://arxiv.org/abs/2103.14921.
 I. S. Duff, A. M. Erisman, and J. K. Reid,Direct Methods for Sparse Matrices, Second
Edition, Oxford University Press, London, 2017.
 Y. Efendiev, J. Galvis, and P. S. Vassilevski,Spectral element agglomerate algebraic
multigrid methods for elliptic problems with high-contrast coeﬃcients, in Domain
Decomposition Methods in Science and Engineering XIX, Y. Huang, R. Kornhuber,
O. Widlund, and J. Xu, eds., Berlin, Heidelberg, 2011, Springer Berlin Heidelberg, pp. 407–
 S. C. Eisenstat, H. C. Elman, and M. H. Schultz,Variational iterative methods for
12 H. AL DAAS, P. JOLIVET, AND T. REES
nonsymmetric systems of linear equations, SIAM Journal on Numerical Analysis, 20
(1983), pp. 345–357.
 R. D. Falgout and U. M. Yang, hypre: a library of high performance preconditioners,
Computational Science—ICCS 2002, (2002), pp. 632–641.
 M. J. Gander and A. Loneland,SHEM: an optimal coarse space for RAS and its multiscale
approximation, in Domain Decomposition Methods in Science and Engineering XXIII, C.-
O. Lee, X.-C. Cai, D. E. Keyes, H. H. Kim, A. Klawonn, E.-J. Park, and O. B. Widlund,
eds., Cham, 2017, Springer International Publishing, pp. 313–321.
 F. Hecht,New development in FreeFem++, Journal of Numerical Mathematics, 20 (2012),
 A. Heinlein, C. Hochmuth, and A. Klawonn,Reduced dimension GDSW coarse spaces for
monolithic Schwarz domain decomposition methods for incompressible ﬂuid ﬂow problems,
International Journal for Numerical Methods in Engineering, 121 (2020), pp. 1101–1119.
 P. Jolivet, J. E. Roman, and S. Zampini,KSPHPDDM and PCHPDDM: extending PETSc
with advanced Krylov methods and robust multilevel overlapping Schwarz preconditioners,
Computers & Mathematics with Applications, 84 (2021), pp. 277–295.
 G. Karypis and V. Kumar,Multilevel k-way partitioning scheme for irregular graphs, Journal
of Parallel and Distributed computing, 48 (1998), pp. 96–129.
 A. Klawonn, M. K¨
uhn, and O. Rheinbach,Adaptive coarse spaces for FETI-DP in three
dimensions, SIAM Journal on Scientiﬁc Computing, 38 (2016), pp. A2880–A2911.
 A. Klawonn, P. Radtke, and O. Rheinbach,FETI-DP methods with an adaptive coarse
space, SIAM Journal on Numerical Analysis, 53 (2015), pp. 297–320.
 T. V. Kolev and P. S. Vassilevski,AMG by element agglomeration and constrained
energy minimization interpolation, Numerical Linear Algebra with Applications, 13 (2006),
 F. Kong and X.-C. Cai,A scalable nonlinear ﬂuid–structure interaction solver based on a
Schwarz preconditioner with isogeometric unstructured coarse spaces in 3D, Journal of
Computational Physics, 340 (2017), pp. 498–518.
 T. A. Manteuffel, S. M¨
unzenmaier, J. Ruge, and B. S. Southworth,Nonsymmetric
reduction-based algebraic multigrid, SIAM Journal on Scientiﬁc Computing, 41 (2019),
 T. A. Manteuffel, J. Ruge, and B. S. Southworth,Nonsymmetric algebraic multigrid based
on local approximate ideal restriction (`AIR), SIAM Journal on Scientiﬁc Computing, 40
(2018), pp. A4105–A4130.
 P. Marchand, X. Claeys, P. Jolivet, F. Nataf, and P.-H. Tournier,Two-level
preconditioning for h-version boundary element approximation of hypersingular operator
with GenEO, Numerische Mathematik, 146 (2020), pp. 597–628.
 F. Nataf and P.-H. Tournier,A GenEO domain decomposition method for saddle point
problems, 2021, https://arxiv.org/abs/1911.01858.
 F. Nataf, H. Xiang, V. Dolean, and N. Spillane,A coarse space construction based on local
Dirichlet-to-Neumann maps, SIAM Journal on Scientiﬁc Computing, 33 (2011), pp. 1623–
 S. V. Nepomnyaschikh,Mesh theorems of traces, normalizations of function traces and their
inversions, Russian Journal of Numerical Analysis and Mathematical Modelling, 6 (1991),
 Y. Notay,An aggregation-based algebraic multigrid method, Electronic Transactions on
Numerical Analysis, 37 (2010), pp. 123–146.
 Y. Notay,Aggregation-based algebraic multigrid for convection–diﬀusion equations, SIAM
Journal on Scientiﬁc Computing, 34 (2012), pp. A2288–A2316.
 J. W. Pearson and J. Pestana,Preconditioners for Krylov subspace methods: An overview,
GAMM-Mitteilungen, 43 (2020), p. e202000015.
 Y. Saad,Iterative methods for linear systems of equations: A brief historical journey, (2019),
 Y. Saad and M. H. Schultz,GMRES: a generalized minimal residual algorithm for solving
nonsymmetric linear systems, SIAM Journal on Scientiﬁc and Statistical Computing, 7
(1986), pp. 856–869.
 B. F. Smith, P. E. Bjørstad, and W. D. Gropp,Domain decomposition: parallel multilevel
methods for elliptic partial diﬀerential equations, Cambridge University Press, 1996.
 N. Spillane, V. Dolean, P. Hauret, F. Nataf, C. Pechstein, and R. Scheichl,Abstract
robust coarse spaces for systems of PDEs via generalized eigenproblems in the overlaps,
Numerische Mathematik, 126 (2014), pp. 741–770.
 N. Spillane and D. Rixen,Automatic spectral coarse spaces for robust ﬁnite element tearing
ALGEBRAIC PRECONDITIONER FOR SPARSE MATRICES 13
and interconnecting and balanced domain decomposition algorithms, International Journal
for Numerical Methods in Engineering, 95 (2013), pp. 953–990.
 J. M. Tang, R. Nabben, C. Vuik, and Y. A. Erlangga,Comparison of two-level
preconditioners derived from deﬂation, domain decomposition and multigrid methods,
Journal of Scientiﬁc Computing, 39 (2009), pp. 340–370.
 J. Van lent, R. Scheichl, and I. G. Graham,Energy-minimizing coarse spaces for two-level
Schwarz methods for multiscale PDEs, Numerical Linear Algebra with Applications, 16
(2009), pp. 775–799.
 O. Widlund and A. Toselli,Domain decomposition methods-algorithms and theory, Springer,
 J. Xu and L. Zikatanov,Algebraic multigrid methods, Acta Numerica, 26 (2017), pp. 591–721.
 H. Zhang,Algebraic multigrid methods and their applications, PhD thesis, Pennsylvania State