Summary of Sparse Linear Solvers Available In PETSc#

Preconditioners#

Algorithm

Associated Type

Matrix Types

External Packages

Parallel

Complex

Generic

Jacobi

PCJACOBI

MATAIJ, MATBAIJ, MATSBAIJ, MATDENSE

X

X

Point Block Jacobi

PCPBJACOBI

MATAIJ, MATBAIJ, MATSBAIJ, MATKAIJ, MATMPISELL, MATIS

X

X

Variable Point Block Jacobi

PCPBJACOBI

MATAIJ, MATBAIJ, MATSBAIJ

X

X

Block Jacobi

PCBJACOBI

MATAIJ, MATBAIJ, MATSBAIJ

X

X

SOR

PCSOR

MATAIJ, MATSEQDENSE, MATSEQSBAIJ

X

X

Point Block SOR

MATSEQBAIJ (only for bs = 2,3,4,5)

X

X

Kaczmarz

PCKACZMARZ

MATAIJ

X

X

Additive Schwarz

PCASM

MATAIJ, MATBAIJ, MATSBAIJ

X

X

Vanka/overlapping patches

PCPATCH

MATAIJ

X

X

Deflation

PCDEFLATION

All

X

X

Incomplete

ILU

PCILU

MATSEQAIJ, MATSEQBAIJ

X

ILU with drop tolerance

PCILU

MATSEQAIJ

SuperLU Sequential ILU solver

X

PCILU

MATAIJ

Euclid/hypre (PCHYPRE)

X

ICholesky

PCICC

MATSEQAIJ, MATSEQBAIJ, MATSEQSBAIJ

X

Algebraic recursive multilevel

PCPARMS

MATSEQAIJ

pARMS

X

Matrix Free

Infrastructure

PCSHELL

All

X

X

Multigrid

Infrastructure

PCMG

All

X

X

Geometric

All

X

X

Smoothed Aggregation

PCGAMG

MATAIJ

X

X

Smoothed Aggregation (ML)

PCML

MATAIJ

ML/Trilinos

X

X

Structured Geometric

PCPFMG, PCSYSPFMG, PCSMG

MATHYPRESTRUCT

hypre

X

Classical Algebraic

PCHYPRE, PCAMGX

MATAIJ

BoomerAMG/hypre, AmgX

X

Multi-group MG

PCHMG

MATAIJ

X

X

Domain Decomposition

PCHPDDM

MATAIJ, MATBAIJ, MATSBAIJ, MATIS

HPDDM

X

X

Hierarchical matrices

\(\mathcal H^2\)

PCH2OPUS

MATHTOOL, MATH2OPUS

H2OPUS

X

Physics-based Splitting

Relaxation & Schur Complement

PCFIELDSPLIT

MATAIJ, MATBAIJ, MATNEST

X

X

Galerkin composition

PCGALERKIN

Any

X

X

Additive/multiplicative

PCCOMPOSITE

Any

X

X

Least Squares Commutator

PCLSC

MATSCHURCOMPLEMENT

X

X

Parallel transformation

Redistribution

PCREDISTRIBUTE

MATAIJ

X

X

Telescoping communicator

PCTELESCOPE

MATAIJ

X

X

Distribute for MPI

PCMPI

MATAIJ

X

X

Approximate Inverse

AIV

PCHYPRE, PCSPAI

MATAIJ

Parasails/hypre, SPAI

X

Substructuring

Balancing Neumann-Neumann

PCNN

MATIS

X

X

Balancing Domain Decomposition

PCBDDC

MATIS

X

X

2-level Schwarz wire basket

PCEXOTIC

MATAIJ

X

X


Direct Solvers#

Algorithm

Associated Type

Matrix Types

External Packages

Parallel

Complex

Direct LU

LU

PCLU

MATSEQAIJ, MATSEQBAIJ

X

MATSEQAIJ

MATLAB

X

MATAIJ

PaStiX

X

X

MATAIJ

SuperLU

X

X

MATAIJ, MATBAIJ

MUMPS

X

X

MATSEQAIJ

ESSL

MATSEQAIJ

UMPFPACK (SuiteSparse)

X

MATSEQAIJ

KLU (SuiteSparse)

X

MATSEQAIJ

LUSOL

MATSEQAIJ, MATSEQBAIJ

MKL PARDISO

X

MATMPIAIJ, MATMPIBAIJ

MKL CPardiso

X

X

MATDENSE

Elemental

X

X

Direct Cholesky

Cholesky

PCCHOLESKY

MATSEQAIJ, MATSEQSBAIJ

X

MATSBAIJ

PaStiX

X

X

MATSBAIJ

MUMPS

X

X

MATSEQAIJ, MATSEQSBAIJ

CHOLMOD (SuiteSparse)

X

MATDENSE

Elemental

X

X

MATSEQSBAIJ

MKL PARDISO

MATMPIAIJ, MATMPIBAIJ

MKL CPardiso

X

Direct SVD

Singular value decomposition

PCSVD

Any

X

X

Direct QR

QR

PCQR

MATSEQAIJ

SuiteSparse QR

XXt and XYt

MATAIJ

X


Krylov Methods#

Algorithm

Associated Type

External Packages

Parallel

Complex

Richardson

KSPRICHARDSON

X

X

Chebyshev

KSPCHEBYSHEV

X

X

GMRES

KSPGMRES

X

X

Flexible GMRES

KSPFGMRES

X

X

LGMRES

KSPLGMRES

X

X

Deflated GMRES

KSPDGMRES

X

Two-stage with least squares residual minimization

KSPTSIRM

X

X

Conjugate Gradient

KSPCG

X

X

Conjugate Gradient Squared

KSPCGS

X

X

Conjugate Gradient for Least Squares

KSPCGLS

X

X

Conjugate Gradient on Normal Equations

KSPCGNE

X

X

Nash Conjugate Gradient with trust region constraint

KSPNASH

X

X

Conjugate Gradient with trust region constraint

KSPSTCG

X

X

Gould et al Conjugate Gradient with trust region constraint

KSPGLTR

X

X

Steinhaug Conjugate Gradient with trust region constraint

KSPQCG

X

X

Left Conjugate Direction

KSPLCD

X

X

Bi-Conjugate Gradient

KSPBICG

X

X

Stabilized Bi-Conjugate Gradient

KSPBCGS

X

X

Improved Stabilized Bi-Conjugate Gradient

KSPIBCGS

X

X

Transpose-free QMR

KSPTFQMR

X

X

Tony Chan QMR

KSPTCQMR

X

X

QMR BiCGStab

KSPQMRCGS

X

X

Flexible Conjugate Gradients

KSPFCG

X

X

Flexible stabilized Bi-Conjugate Gradients

KSPFBCGS

X

X

Flexible stabilized Bi-Conjugate Gradients with fewer reductions

KSPFBCGSR

X

X

Stabilized Bi-Conjugate Gradients with length \(\ell\) recurrence

KSPBCGSL

X

X

Conjugate Residual

KSPCR

X

X

Generalized Conjugate Residual

KSPGCR

X

X

Generalized Conjugate Residual (with inner normalization and deflated restarts)

KSPHPDDM

HPDDM

X

X

Minimum Residual

KSPMINRES

X

X

LSQR

KSPLSQR

X

X

SYMMLQ

KSPSYMMLQ

X

X

FETI-DP (reduction to dual-primal sub-problem)

KSPFETIDP

X

X

Gropp’s overlapped reduction Conjugate Gradient

KSPGROPPCG

X

X

Pipelined Conjugate Gradient

KSPPIPECG

X

X

Pipelined Conjugate Gradient with residual replacement

KSPPIPECGRR

X

X

Pipelined depth \(\ell\) Conjugate Gradient

KSPPIPELCG

X

X

Pipelined predict-and-recompute Conjugate Gradient

KSPPIPEPRCG

X

X

Pipelined Conjugate Gradient over iteration pairs

KSPPIPECG2

X

X

Pipelined flexible Conjugate Gradient

KSPPIPEFCG

X

X

Pipelined stabilized Bi-Conjugate Gradients

KSPPIPEBCGS

X

X

Pipelined Conjugate Residual

KSPPIPECR

X

X

Pipelined flexible GMRES

KSPPIPEFGMRES

X

X

Pipelined Generalized Conjugate Residual

KSPPIPEGCR

X

X

Pipelined GMRES

KSPPGMRES

X

X