Content uploaded by Hussam Al Daas

Author content

All content in this area was uploaded by Hussam Al Daas on Jan 06, 2022

Content may be subject to copyright.

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

Ax =b,

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 [23]. 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 [45] 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 [44] and the

references therein.

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

(hussam.al-daas@stfc.ac.uk,tyrone.rees@stfc.ac.uk).

‡CNRS, ENSEEIHT, 2 rue Charles Camichel, 31071 Toulouse Cedex 7, France

(pierre.jolivet@enseeiht.fr).

1

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 [41] and

local Hermitian positive semi-deﬁnite (HPSD) splitting matrices [2] 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 [25] of GMRES convergence, see for

example [8,10,18].

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 [20]. 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

R>

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

subdomain Ωi.

We deﬁne the one-level Schwarz preconditioner as

(2.1) M−1

ASM =

N

X

i=1

R>

iA−1

ii Ri,

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

A00 =R0ARH

0is nonsingular, we deﬁne the two-level Schwarz preconditioner as

(2.2) M−1

additive =RH

0A−1

00 R0+M−1

ASM.

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

references therein).

We denote by Di∈Rni×ni,i∈J1, NK, any non-negative diagonal matrices such

that

N

X

i=1

R>

iDiRi=In.

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 [17] 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

deﬁned as:

(2.3) M−1

RAS =

N

X

i=1

R>

iDiA−1

ii Ri.

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 [50]. 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

M−1

?,additive =RH

0A−1

00 R0+M−1

?.

The two-level preconditioner based on a deﬂated coarse space correction is

M−1

?,deflated =RH

0A−1

00 R0+M−1

?I−ARH

0A−1

00 R0.

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

(2.4) M−1

deflated =RH

0A−1

00 R0+M−1

RAS I−ARH

0A−1

00 R0.

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

Pie

AiP>

i=

AIi AIΓ,i

AΓI,i e

AΓ,i

,

where Pi=In(ΩIi ,ΩΓi,Ωci,:) is a permutation matrix, AI i =A(ΩIi ,ΩIi ), AIΓ,i =

A>

ΓI,i =A(ΩI i,ΩΓi), and e

AΓ,i is any HPSD matrix such that the following inequality

holds

0≤u>e

Aiu≤u>Au, u ∈Cn.

First presented and analyzed in [2], 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 [3], sparse normal equations

matrices [5], and sparse general SPD matrices [4].

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

PiAP >

i=

AIi AIΓi

AΓIi AΓiAΓci

AcΓiAci

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

Ai=R>

ie

AiiRi, where

e

Aii =AIi AIΓi

AΓIi e

AΓ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

e

Aideﬁned in Deﬁnition 3.1 is local HPSD splitting matrix of Awith respect to

subdomain i.

Proof. First, note that the jth diagonal element of e

Aiis

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

subdomain i.

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

Aii =Rie

AiR>

i, and the partition of unity matrix Di,

let Li=ker (DiAii Di) and Ki=ker e

Aii. Now, deﬁne the following generalized

eigenvalue problem:

ﬁnd (λ, u)∈C×Cnisuch that

ΠiDiAiiDiΠiu=λe

Aiiu,

(3.1)

6H. AL DAAS, P. JOLIVET, AND T. REES

where Πiis the projection on range e

Aii.

Given a number τ > 0, the coarse space we propose is deﬁned to be the space

generated by the columns of the matrix

RH

i=R>

1D1Z1· · · R>

NDNZN,

where Ziis the matrix whose columns form a basis of the subspace

(3.2) (Li∩Ki)⊥Ki⊕span u|ΠiDiAiiDiΠiu=λe

Aiiu, |λ|>1

τ,

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 [2]. Therefore, the two-level Schwarz preconditioner using the coarse space

deﬁned guarantees an upper bound on the condition number of the preconditioned

matrix

κ2(M−1

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 [26],

GAMG [1], and AGMG [42]. The results are for the right-preconditioned GMRES [46]

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 [6] (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 [31]. 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 [30] 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

are computed.

ALGEBRAIC PRECONDITIONER FOR SPARSE MATRICES 7

Table 1

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

deflated n0

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.

(4.1)

The problem is SUPG-stabilized [16] and discretized by FreeFEM [28]. 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

Table 2

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 ν

1 10−110−210−310−4

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)

Table 3

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.

Dimension nν

1 10−110−210−310−4

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

is either:

V(x, y) = x(1 −x)(2y−1)

−y(1 −y)(2x−1)or V(x, y, z) =

2x(1 −x)(2y−1)z

−y(1 −y)(2x−1)

−z(1 −z)(2x−1)(2y−1)

,

in 2D and 3D, respectively. These are standard values taken from the literature [43].

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

0.5

1

1.5

2

6·10−2

κ

(b) Diﬀusivity coeﬃcient κ

(c) ν= 1

0 0.2 0.4 0.6 0.8 1

u

(d) ν= 10−2(e) ν= 10−4

(f) ν= 1 (g) ν= 10−2(h) ν= 10−4

Table 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.

Dimension nν

1 10−110−210−310−4

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 )

6{

Ve c b ;

Ma t A , pe r m ;

KS P k sp ;

IS i s , ro w s ;

11 PetscBool fl g ;

PetscViewer viewer;

char name[ PETSC_MAX_PATH_LEN] ;

MatPartitioning mp a rt ;

PetscErrorCode ierr;

16

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 );

CHKERRQ(ierr) ;

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 );

CHKERRQ(ierr) ;

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) ;

26 {

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) ;

36 }

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 () ;

return ierr;

}

REFERENCES

[1] 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.

[2] 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.

[3] 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

[4] H. Al Daas and P. Jolivet,A robust algebraic multilevel domain decomposition

preconditioner for sparse symmetric positive deﬁnite matrices, 2021, https://arxiv.org/

abs/2109.05908.

[5] 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.

[6] 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.

[7] P. Bastian, R. Scheichl, L. Seelinger, and A. Strehlow,Multilevel spectral domain

decomposition, 2021, https://arxiv.org/abs/2106.06404.

[8] 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.

[9] 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.

[10] 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.

[11] 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,

https://arxiv.org/abs/2110.13537.

[12] 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/

2103.06025.

[13] 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.

[14] 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.

[15] 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.

[16] 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–

259.

[17] 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.

[18] 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.

[19] 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.

[20] T. A. Davis and Y. Hu,The University of Florida sparse matrix collection, ACM Transactions

on Mathematical Software, 38 (2011), pp. 1–28.

[21] V. Dolean, P. Jolivet, and F. Nataf,An introduction to domain decomposition methods.

Algorithms, theory, and parallel implementation, Society for Industrial and Applied

Mathematics, 2015.

[22] 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.

[23] I. S. Duff, A. M. Erisman, and J. K. Reid,Direct Methods for Sparse Matrices, Second

Edition, Oxford University Press, London, 2017.

[24] 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–

414.

[25] 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.

[26] R. D. Falgout and U. M. Yang, hypre: a library of high performance preconditioners,

Computational Science—ICCS 2002, (2002), pp. 632–641.

[27] 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.

[28] F. Hecht,New development in FreeFem++, Journal of Numerical Mathematics, 20 (2012),

pp. 251–265.

[29] 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.

[30] 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.

[31] G. Karypis and V. Kumar,Multilevel k-way partitioning scheme for irregular graphs, Journal

of Parallel and Distributed computing, 48 (1998), pp. 96–129.

[32] 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.

[33] 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.

[34] T. V. Kolev and P. S. Vassilevski,AMG by element agglomeration and constrained

energy minimization interpolation, Numerical Linear Algebra with Applications, 13 (2006),

pp. 771–788.

[35] 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.

[36] 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),

pp. S242–S268.

[37] 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.

[38] 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.

[39] F. Nataf and P.-H. Tournier,A GenEO domain decomposition method for saddle point

problems, 2021, https://arxiv.org/abs/1911.01858.

[40] 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–

1642.

[41] S. V. Nepomnyaschikh,Mesh theorems of traces, normalizations of function traces and their

inversions, Russian Journal of Numerical Analysis and Mathematical Modelling, 6 (1991),

pp. 1–25.

[42] Y. Notay,An aggregation-based algebraic multigrid method, Electronic Transactions on

Numerical Analysis, 37 (2010), pp. 123–146.

[43] Y. Notay,Aggregation-based algebraic multigrid for convection–diﬀusion equations, SIAM

Journal on Scientiﬁc Computing, 34 (2012), pp. A2288–A2316.

[44] J. W. Pearson and J. Pestana,Preconditioners for Krylov subspace methods: An overview,

GAMM-Mitteilungen, 43 (2020), p. e202000015.

[45] Y. Saad,Iterative methods for linear systems of equations: A brief historical journey, (2019),

pp. 197–216.

[46] 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.

[47] 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.

[48] 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.

[49] 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.

[50] 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.

[51] 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.

[52] O. Widlund and A. Toselli,Domain decomposition methods-algorithms and theory, Springer,

2005.

[53] J. Xu and L. Zikatanov,Algebraic multigrid methods, Acta Numerica, 26 (2017), pp. 591–721.

[54] H. Zhang,Algebraic multigrid methods and their applications, PhD thesis, Pennsylvania State

University, 2017.