xref: /petsc/doc/overview/linear_solve_table.md (revision 7f296bb328fcd4c99f2da7bfe8ba7ed8a4ebceee)
1*7f296bb3SBarry Smith(doc_linsolve)=
2*7f296bb3SBarry Smith
3*7f296bb3SBarry Smith# Summary of Sparse Linear Solvers Available In PETSc
4*7f296bb3SBarry Smith
5*7f296bb3SBarry Smith## Preconditioners
6*7f296bb3SBarry Smith
7*7f296bb3SBarry Smith```{eval-rst}
8*7f296bb3SBarry Smith.. list-table::
9*7f296bb3SBarry Smith   :widths: auto
10*7f296bb3SBarry Smith   :align: center
11*7f296bb3SBarry Smith   :header-rows: 1
12*7f296bb3SBarry Smith
13*7f296bb3SBarry Smith   * -
14*7f296bb3SBarry Smith     - Algorithm
15*7f296bb3SBarry Smith     - Associated Type
16*7f296bb3SBarry Smith     - Matrix Types
17*7f296bb3SBarry Smith     - External Packages
18*7f296bb3SBarry Smith     - Parallel
19*7f296bb3SBarry Smith     - Complex
20*7f296bb3SBarry Smith   * - Generic
21*7f296bb3SBarry Smith     - Jacobi
22*7f296bb3SBarry Smith     - ``PCJACOBI``
23*7f296bb3SBarry Smith     - ``MATAIJ``, ``MATBAIJ``, ``MATSBAIJ``, ``MATDENSE``
24*7f296bb3SBarry Smith     - ---
25*7f296bb3SBarry Smith     - X
26*7f296bb3SBarry Smith     - X
27*7f296bb3SBarry Smith   * -
28*7f296bb3SBarry Smith     - Point Block Jacobi
29*7f296bb3SBarry Smith     - ``PCPBJACOBI``
30*7f296bb3SBarry Smith     - ``MATAIJ``, ``MATBAIJ``, ``MATSBAIJ``, ``MATKAIJ``, ``MATMPISELL``, ``MATIS``
31*7f296bb3SBarry Smith     - ---
32*7f296bb3SBarry Smith     - X
33*7f296bb3SBarry Smith     - X
34*7f296bb3SBarry Smith   * -
35*7f296bb3SBarry Smith     - Variable Point Block Jacobi
36*7f296bb3SBarry Smith     - ``PCPBJACOBI``
37*7f296bb3SBarry Smith     - ``MATAIJ``, ``MATBAIJ``, ``MATSBAIJ``
38*7f296bb3SBarry Smith     - ---
39*7f296bb3SBarry Smith     - X
40*7f296bb3SBarry Smith     - X
41*7f296bb3SBarry Smith   * -
42*7f296bb3SBarry Smith     - Block Jacobi
43*7f296bb3SBarry Smith     - ``PCBJACOBI``
44*7f296bb3SBarry Smith     - ``MATAIJ``, ``MATBAIJ``, ``MATSBAIJ``
45*7f296bb3SBarry Smith     - ---
46*7f296bb3SBarry Smith     - X
47*7f296bb3SBarry Smith     - X
48*7f296bb3SBarry Smith   * -
49*7f296bb3SBarry Smith     - SOR
50*7f296bb3SBarry Smith     - ``PCSOR``
51*7f296bb3SBarry Smith     - ``MATAIJ``, ``MATSEQDENSE``, ``MATSEQSBAIJ``
52*7f296bb3SBarry Smith     - ---
53*7f296bb3SBarry Smith     - X
54*7f296bb3SBarry Smith     - X
55*7f296bb3SBarry Smith   * -
56*7f296bb3SBarry Smith     - Point Block SOR
57*7f296bb3SBarry Smith     -
58*7f296bb3SBarry Smith     - ``MATSEQBAIJ`` (only for ``bs`` = 2,3,4,5)
59*7f296bb3SBarry Smith     - ---
60*7f296bb3SBarry Smith     - X
61*7f296bb3SBarry Smith     - X
62*7f296bb3SBarry Smith   * -
63*7f296bb3SBarry Smith     - Kaczmarz
64*7f296bb3SBarry Smith     - ``PCKACZMARZ``
65*7f296bb3SBarry Smith     - ``MATAIJ``
66*7f296bb3SBarry Smith     - ---
67*7f296bb3SBarry Smith     - X
68*7f296bb3SBarry Smith     - X
69*7f296bb3SBarry Smith   * -
70*7f296bb3SBarry Smith     - Additive Schwarz
71*7f296bb3SBarry Smith     - ``PCASM``
72*7f296bb3SBarry Smith     - ``MATAIJ``, ``MATBAIJ``, ``MATSBAIJ``
73*7f296bb3SBarry Smith     - ---
74*7f296bb3SBarry Smith     - X
75*7f296bb3SBarry Smith     - X
76*7f296bb3SBarry Smith   * -
77*7f296bb3SBarry Smith     - Vanka/overlapping patches
78*7f296bb3SBarry Smith     - ``PCPATCH``
79*7f296bb3SBarry Smith     - ``MATAIJ``
80*7f296bb3SBarry Smith     - ---
81*7f296bb3SBarry Smith     - X
82*7f296bb3SBarry Smith     - X
83*7f296bb3SBarry Smith   * -
84*7f296bb3SBarry Smith     - Deflation
85*7f296bb3SBarry Smith     - ``PCDEFLATION``
86*7f296bb3SBarry Smith     - All
87*7f296bb3SBarry Smith     - ---
88*7f296bb3SBarry Smith     - X
89*7f296bb3SBarry Smith     - X
90*7f296bb3SBarry Smith   * - Incomplete
91*7f296bb3SBarry Smith     - ILU
92*7f296bb3SBarry Smith     - ``PCILU``
93*7f296bb3SBarry Smith     - ``MATSEQAIJ``, ``MATSEQBAIJ``
94*7f296bb3SBarry Smith     - ---
95*7f296bb3SBarry Smith     -
96*7f296bb3SBarry Smith     - X
97*7f296bb3SBarry Smith   * -
98*7f296bb3SBarry Smith     - ILU with drop tolerance
99*7f296bb3SBarry Smith     - ``PCILU``
100*7f296bb3SBarry Smith     - ``MATSEQAIJ``
101*7f296bb3SBarry Smith     - `SuperLU Sequential ILU solver
102*7f296bb3SBarry Smith       <../../manualpages/Mat/MATSOLVERSUPERLU.html>`__
103*7f296bb3SBarry Smith     -
104*7f296bb3SBarry Smith     - X
105*7f296bb3SBarry Smith   * -
106*7f296bb3SBarry Smith     -
107*7f296bb3SBarry Smith     - ``PCILU``
108*7f296bb3SBarry Smith     - ``MATAIJ``
109*7f296bb3SBarry Smith     - Euclid/hypre (``PCHYPRE``)
110*7f296bb3SBarry Smith     - X
111*7f296bb3SBarry Smith     -
112*7f296bb3SBarry Smith   * -
113*7f296bb3SBarry Smith     - ICholesky
114*7f296bb3SBarry Smith     - ``PCICC``
115*7f296bb3SBarry Smith     - ``MATSEQAIJ``, ``MATSEQBAIJ``, ``MATSEQSBAIJ``
116*7f296bb3SBarry Smith     - ---
117*7f296bb3SBarry Smith     -
118*7f296bb3SBarry Smith     - X
119*7f296bb3SBarry Smith   * -
120*7f296bb3SBarry Smith     - Algebraic recursive multilevel
121*7f296bb3SBarry Smith     - ``PCPARMS``
122*7f296bb3SBarry Smith     - ``MATSEQAIJ``
123*7f296bb3SBarry Smith     - `pARMS <https://www-users.cse.umn.edu/~saad/software/pARMS/>`__
124*7f296bb3SBarry Smith     -
125*7f296bb3SBarry Smith     - X
126*7f296bb3SBarry Smith   * - Matrix Free
127*7f296bb3SBarry Smith     - Infrastructure
128*7f296bb3SBarry Smith     - ``PCSHELL``
129*7f296bb3SBarry Smith     - All
130*7f296bb3SBarry Smith     - ---
131*7f296bb3SBarry Smith     - X
132*7f296bb3SBarry Smith     - X
133*7f296bb3SBarry Smith   * - Multigrid
134*7f296bb3SBarry Smith     - Infrastructure
135*7f296bb3SBarry Smith     - ``PCMG``
136*7f296bb3SBarry Smith     - All
137*7f296bb3SBarry Smith     - ---
138*7f296bb3SBarry Smith     - X
139*7f296bb3SBarry Smith     - X
140*7f296bb3SBarry Smith   * -
141*7f296bb3SBarry Smith     - Geometric
142*7f296bb3SBarry Smith     -
143*7f296bb3SBarry Smith     - All
144*7f296bb3SBarry Smith     - ---
145*7f296bb3SBarry Smith     - X
146*7f296bb3SBarry Smith     - X
147*7f296bb3SBarry Smith   * -
148*7f296bb3SBarry Smith     - Smoothed Aggregation
149*7f296bb3SBarry Smith     - ``PCGAMG``
150*7f296bb3SBarry Smith     - ``MATAIJ``
151*7f296bb3SBarry Smith     - ---
152*7f296bb3SBarry Smith     - X
153*7f296bb3SBarry Smith     - X
154*7f296bb3SBarry Smith   * -
155*7f296bb3SBarry Smith     - Smoothed Aggregation (ML)
156*7f296bb3SBarry Smith     - ``PCML``
157*7f296bb3SBarry Smith     - ``MATAIJ``
158*7f296bb3SBarry Smith     - `ML/Trilinos <https://trilinos.github.io/ml.html>`__
159*7f296bb3SBarry Smith     - X
160*7f296bb3SBarry Smith     - X
161*7f296bb3SBarry Smith   * -
162*7f296bb3SBarry Smith     - Structured Geometric
163*7f296bb3SBarry Smith     - ``PCPFMG``, ``PCSYSPFMG``, ``PCSMG``
164*7f296bb3SBarry Smith     - ``MATHYPRESTRUCT``
165*7f296bb3SBarry Smith     - `hypre <https://hypre.readthedocs.io/en/latest/solvers-smg-pfmg.html>`__
166*7f296bb3SBarry Smith     - X
167*7f296bb3SBarry Smith     -
168*7f296bb3SBarry Smith   * -
169*7f296bb3SBarry Smith     - Classical Algebraic
170*7f296bb3SBarry Smith     - ``PCHYPRE``, ``PCAMGX``
171*7f296bb3SBarry Smith     - ``MATAIJ``
172*7f296bb3SBarry Smith     - `BoomerAMG/hypre
173*7f296bb3SBarry Smith       <https://hypre.readthedocs.io/en/latest/solvers-boomeramg.html>`__, `AmgX <https://developer.nvidia.com/amgx>`__
174*7f296bb3SBarry Smith     - X
175*7f296bb3SBarry Smith     -
176*7f296bb3SBarry Smith   * -
177*7f296bb3SBarry Smith     - Multi-group MG
178*7f296bb3SBarry Smith     - ``PCHMG``
179*7f296bb3SBarry Smith     - ``MATAIJ``
180*7f296bb3SBarry Smith     - ---
181*7f296bb3SBarry Smith     - X
182*7f296bb3SBarry Smith     - X
183*7f296bb3SBarry Smith   * -
184*7f296bb3SBarry Smith     - Domain Decomposition
185*7f296bb3SBarry Smith     - ``PCHPDDM``
186*7f296bb3SBarry Smith     - ``MATAIJ``, ``MATBAIJ``, ``MATSBAIJ``, ``MATIS``
187*7f296bb3SBarry Smith     - `HPDDM <https://github.com/hpddm/hpddm>`__
188*7f296bb3SBarry Smith     - X
189*7f296bb3SBarry Smith     - X
190*7f296bb3SBarry Smith   * - Hierarchical matrices
191*7f296bb3SBarry Smith     - :math:`\mathcal H^2`
192*7f296bb3SBarry Smith     - ``PCH2OPUS``
193*7f296bb3SBarry Smith     - ``MATHTOOL``, ``MATH2OPUS``
194*7f296bb3SBarry Smith     - `H2OPUS <https://github.com/ecrc/h2opus>`__
195*7f296bb3SBarry Smith     - X
196*7f296bb3SBarry Smith     -
197*7f296bb3SBarry Smith   * - Physics-based Splitting
198*7f296bb3SBarry Smith     - Relaxation & Schur Complement
199*7f296bb3SBarry Smith     - ``PCFIELDSPLIT``
200*7f296bb3SBarry Smith     - ``MATAIJ``, ``MATBAIJ``, ``MATNEST``
201*7f296bb3SBarry Smith     - ---
202*7f296bb3SBarry Smith     - X
203*7f296bb3SBarry Smith     - X
204*7f296bb3SBarry Smith   * -
205*7f296bb3SBarry Smith     - Galerkin composition
206*7f296bb3SBarry Smith     - ``PCGALERKIN``
207*7f296bb3SBarry Smith     - Any
208*7f296bb3SBarry Smith     - ---
209*7f296bb3SBarry Smith     - X
210*7f296bb3SBarry Smith     - X
211*7f296bb3SBarry Smith   * -
212*7f296bb3SBarry Smith     - Additive/multiplicative
213*7f296bb3SBarry Smith     - ``PCCOMPOSITE``
214*7f296bb3SBarry Smith     - Any
215*7f296bb3SBarry Smith     - ---
216*7f296bb3SBarry Smith     - X
217*7f296bb3SBarry Smith     - X
218*7f296bb3SBarry Smith   * -
219*7f296bb3SBarry Smith     - Least Squares Commutator
220*7f296bb3SBarry Smith     - ``PCLSC``
221*7f296bb3SBarry Smith     - ``MATSCHURCOMPLEMENT``
222*7f296bb3SBarry Smith     - ---
223*7f296bb3SBarry Smith     - X
224*7f296bb3SBarry Smith     - X
225*7f296bb3SBarry Smith   * - Parallel transformation
226*7f296bb3SBarry Smith     - Redistribution
227*7f296bb3SBarry Smith     - ``PCREDISTRIBUTE``
228*7f296bb3SBarry Smith     - ``MATAIJ``
229*7f296bb3SBarry Smith     - ---
230*7f296bb3SBarry Smith     - X
231*7f296bb3SBarry Smith     - X
232*7f296bb3SBarry Smith   * -
233*7f296bb3SBarry Smith     - Telescoping communicator
234*7f296bb3SBarry Smith     - ``PCTELESCOPE``
235*7f296bb3SBarry Smith     - ``MATAIJ``
236*7f296bb3SBarry Smith     - ---
237*7f296bb3SBarry Smith     - X
238*7f296bb3SBarry Smith     - X
239*7f296bb3SBarry Smith   * -
240*7f296bb3SBarry Smith     - Distribute for MPI
241*7f296bb3SBarry Smith     - ``PCMPI``
242*7f296bb3SBarry Smith     - ``MATAIJ``
243*7f296bb3SBarry Smith     - ---
244*7f296bb3SBarry Smith     - X
245*7f296bb3SBarry Smith     - X
246*7f296bb3SBarry Smith   * - Approximate Inverse
247*7f296bb3SBarry Smith     - AIV
248*7f296bb3SBarry Smith     - ``PCHYPRE``, ``PCSPAI``
249*7f296bb3SBarry Smith     - ``MATAIJ``
250*7f296bb3SBarry Smith     - `Parasails/hypre <https://hypre.readthedocs.io/en/latest/solvers-parasails.html>`__, `SPAI <https://epubs.siam.org/doi/abs/10.1137/S1064827595294691?journalCode=sjoce3>`__
251*7f296bb3SBarry Smith     - X
252*7f296bb3SBarry Smith     -
253*7f296bb3SBarry Smith   * - Substructuring
254*7f296bb3SBarry Smith     - Balancing Neumann-Neumann
255*7f296bb3SBarry Smith     - ``PCNN``
256*7f296bb3SBarry Smith     - ``MATIS``
257*7f296bb3SBarry Smith     - ---
258*7f296bb3SBarry Smith     - X
259*7f296bb3SBarry Smith     - X
260*7f296bb3SBarry Smith   * -
261*7f296bb3SBarry Smith     - Balancing Domain Decomposition
262*7f296bb3SBarry Smith     - ``PCBDDC``
263*7f296bb3SBarry Smith     - ``MATIS``
264*7f296bb3SBarry Smith     - ---
265*7f296bb3SBarry Smith     - X
266*7f296bb3SBarry Smith     - X
267*7f296bb3SBarry Smith   * -
268*7f296bb3SBarry Smith     - 2-level Schwarz wire basket
269*7f296bb3SBarry Smith     - ``PCEXOTIC``
270*7f296bb3SBarry Smith     - ``MATAIJ``
271*7f296bb3SBarry Smith     - ---
272*7f296bb3SBarry Smith     - X
273*7f296bb3SBarry Smith     - X
274*7f296bb3SBarry Smith```
275*7f296bb3SBarry Smith
276*7f296bb3SBarry Smith______________________________________________________________________
277*7f296bb3SBarry Smith
278*7f296bb3SBarry Smith## Direct Solvers
279*7f296bb3SBarry Smith
280*7f296bb3SBarry Smith```{eval-rst}
281*7f296bb3SBarry Smith.. list-table::
282*7f296bb3SBarry Smith   :widths: auto
283*7f296bb3SBarry Smith   :align: center
284*7f296bb3SBarry Smith   :header-rows: 1
285*7f296bb3SBarry Smith
286*7f296bb3SBarry Smith   * -
287*7f296bb3SBarry Smith     - Algorithm
288*7f296bb3SBarry Smith     - Associated Type
289*7f296bb3SBarry Smith     - Matrix Types
290*7f296bb3SBarry Smith     - External Packages
291*7f296bb3SBarry Smith     - Parallel
292*7f296bb3SBarry Smith     - Complex
293*7f296bb3SBarry Smith   * - Direct LU
294*7f296bb3SBarry Smith     - LU
295*7f296bb3SBarry Smith     - ``PCLU``
296*7f296bb3SBarry Smith     - ``MATSEQAIJ``, ``MATSEQBAIJ``
297*7f296bb3SBarry Smith     - ---
298*7f296bb3SBarry Smith     -
299*7f296bb3SBarry Smith     - X
300*7f296bb3SBarry Smith   * -
301*7f296bb3SBarry Smith     -
302*7f296bb3SBarry Smith     -
303*7f296bb3SBarry Smith     - ``MATSEQAIJ``
304*7f296bb3SBarry Smith     - `MATLAB <https://www.mathworks.com/products/matlab.html>`__
305*7f296bb3SBarry Smith     -
306*7f296bb3SBarry Smith     - X
307*7f296bb3SBarry Smith   * -
308*7f296bb3SBarry Smith     -
309*7f296bb3SBarry Smith     -
310*7f296bb3SBarry Smith     - ``MATAIJ``
311*7f296bb3SBarry Smith     - `PaStiX <http://pastix.gforge.inria.fr/files/README-txt.html>`__
312*7f296bb3SBarry Smith     - X
313*7f296bb3SBarry Smith     - X
314*7f296bb3SBarry Smith   * -
315*7f296bb3SBarry Smith     -
316*7f296bb3SBarry Smith     -
317*7f296bb3SBarry Smith     - ``MATAIJ``
318*7f296bb3SBarry Smith     - `SuperLU <https://portal.nersc.gov/project/sparse/superlu/>`__
319*7f296bb3SBarry Smith     - X
320*7f296bb3SBarry Smith     - X
321*7f296bb3SBarry Smith   * -
322*7f296bb3SBarry Smith     -
323*7f296bb3SBarry Smith     -
324*7f296bb3SBarry Smith     - ``MATAIJ``, ``MATBAIJ``, ``MATSEQSELL``, ``MATDENSE``, ``MATNEST``
325*7f296bb3SBarry Smith     - `MUMPS <https://mumps-solver.org/>`__
326*7f296bb3SBarry Smith     - X
327*7f296bb3SBarry Smith     - X
328*7f296bb3SBarry Smith   * -
329*7f296bb3SBarry Smith     -
330*7f296bb3SBarry Smith     -
331*7f296bb3SBarry Smith     - ``MATSEQAIJ``
332*7f296bb3SBarry Smith     - `ESSL <https://www.ibm.com/support/knowledgecenter/en/SSFHY8/essl_welcome.html>`__
333*7f296bb3SBarry Smith     -
334*7f296bb3SBarry Smith     -
335*7f296bb3SBarry Smith   * -
336*7f296bb3SBarry Smith     -
337*7f296bb3SBarry Smith     -
338*7f296bb3SBarry Smith     - ``MATSEQAIJ``
339*7f296bb3SBarry Smith     - `UMFPACK (SuiteSparse) <https://people.engr.tamu.edu/davis/suitesparse.html>`__
340*7f296bb3SBarry Smith     -
341*7f296bb3SBarry Smith     - X
342*7f296bb3SBarry Smith   * -
343*7f296bb3SBarry Smith     -
344*7f296bb3SBarry Smith     -
345*7f296bb3SBarry Smith     - ``MATSEQAIJ``
346*7f296bb3SBarry Smith     - `KLU (SuiteSparse) <https://people.engr.tamu.edu/davis/suitesparse.html>`__
347*7f296bb3SBarry Smith     -
348*7f296bb3SBarry Smith     - X
349*7f296bb3SBarry Smith   * -
350*7f296bb3SBarry Smith     -
351*7f296bb3SBarry Smith     -
352*7f296bb3SBarry Smith     - ``MATSEQAIJ``
353*7f296bb3SBarry Smith     - `LUSOL <https://web.stanford.edu/group/SOL/software/lusol/>`__
354*7f296bb3SBarry Smith     -
355*7f296bb3SBarry Smith     -
356*7f296bb3SBarry Smith   * -
357*7f296bb3SBarry Smith     -
358*7f296bb3SBarry Smith     -
359*7f296bb3SBarry Smith     - ``MATSEQAIJ``, ``MATSEQBAIJ``
360*7f296bb3SBarry Smith     - `MKL PARDISO
361*7f296bb3SBarry Smith       <https://software.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top.html>`__
362*7f296bb3SBarry Smith     -
363*7f296bb3SBarry Smith     - X
364*7f296bb3SBarry Smith   * -
365*7f296bb3SBarry Smith     -
366*7f296bb3SBarry Smith     -
367*7f296bb3SBarry Smith     - ``MATMPIAIJ``, ``MATMPIBAIJ``
368*7f296bb3SBarry Smith     - `MKL Cluster PARDISO
369*7f296bb3SBarry Smith       <https://software.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top.html>`__
370*7f296bb3SBarry Smith     - X
371*7f296bb3SBarry Smith     - X
372*7f296bb3SBarry Smith   * -
373*7f296bb3SBarry Smith     -
374*7f296bb3SBarry Smith     -
375*7f296bb3SBarry Smith     - ``MATDENSE``
376*7f296bb3SBarry Smith     - `Elemental <https://github.com/elemental/Elemental>`__
377*7f296bb3SBarry Smith     - X
378*7f296bb3SBarry Smith     - X
379*7f296bb3SBarry Smith   * - Direct Cholesky
380*7f296bb3SBarry Smith     - Cholesky
381*7f296bb3SBarry Smith     - ``PCCHOLESKY``
382*7f296bb3SBarry Smith     - ``MATSEQAIJ``, ``MATSEQSBAIJ``
383*7f296bb3SBarry Smith     - ---
384*7f296bb3SBarry Smith     -
385*7f296bb3SBarry Smith     - X
386*7f296bb3SBarry Smith   * -
387*7f296bb3SBarry Smith     -
388*7f296bb3SBarry Smith     -
389*7f296bb3SBarry Smith     - ``MATSBAIJ``
390*7f296bb3SBarry Smith     - `PaStiX <http://pastix.gforge.inria.fr/files/README-txt.html>`__
391*7f296bb3SBarry Smith     - X
392*7f296bb3SBarry Smith     - X
393*7f296bb3SBarry Smith   * -
394*7f296bb3SBarry Smith     -
395*7f296bb3SBarry Smith     -
396*7f296bb3SBarry Smith     - ``MATAIJ``, ``MATSBAIJ``, ``MATDENSE``, ``MATNEST``
397*7f296bb3SBarry Smith     - `MUMPS <https://mumps-solver.org/>`__
398*7f296bb3SBarry Smith     - X
399*7f296bb3SBarry Smith     - X
400*7f296bb3SBarry Smith   * -
401*7f296bb3SBarry Smith     -
402*7f296bb3SBarry Smith     -
403*7f296bb3SBarry Smith     - ``MATSEQAIJ``, ``MATSEQSBAIJ``
404*7f296bb3SBarry Smith     - `CHOLMOD (SuiteSparse) <https://people.engr.tamu.edu/davis/suitesparse.html>`__
405*7f296bb3SBarry Smith     -
406*7f296bb3SBarry Smith     - X
407*7f296bb3SBarry Smith   * -
408*7f296bb3SBarry Smith     -
409*7f296bb3SBarry Smith     -
410*7f296bb3SBarry Smith     - ``MATDENSE``
411*7f296bb3SBarry Smith     - `Elemental <https://github.com/elemental/Elemental>`__
412*7f296bb3SBarry Smith     - X
413*7f296bb3SBarry Smith     - X
414*7f296bb3SBarry Smith   * -
415*7f296bb3SBarry Smith     -
416*7f296bb3SBarry Smith     -
417*7f296bb3SBarry Smith     - ``MATSEQSBAIJ``
418*7f296bb3SBarry Smith     - `MKL PARDISO
419*7f296bb3SBarry Smith       <https://software.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top.html>`__
420*7f296bb3SBarry Smith     -
421*7f296bb3SBarry Smith     -
422*7f296bb3SBarry Smith   * -
423*7f296bb3SBarry Smith     -
424*7f296bb3SBarry Smith     -
425*7f296bb3SBarry Smith     - ``MATMPIAIJ``, ``MATMPIBAIJ``
426*7f296bb3SBarry Smith     - `MKL CPardiso
427*7f296bb3SBarry Smith       <https://software.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top.html>`__
428*7f296bb3SBarry Smith     - X
429*7f296bb3SBarry Smith     -
430*7f296bb3SBarry Smith   * - Direct SVD
431*7f296bb3SBarry Smith     - Singular value decomposition
432*7f296bb3SBarry Smith     - ``PCSVD``
433*7f296bb3SBarry Smith     - Any
434*7f296bb3SBarry Smith     - ---
435*7f296bb3SBarry Smith     - X
436*7f296bb3SBarry Smith     - X
437*7f296bb3SBarry Smith   * - Direct QR
438*7f296bb3SBarry Smith     - QR
439*7f296bb3SBarry Smith     - ``PCQR``
440*7f296bb3SBarry Smith     - ``MATSEQAIJ``
441*7f296bb3SBarry Smith     -  `SuiteSparse QR <https://people.engr.tamu.edu/davis/suitesparse.html>`__
442*7f296bb3SBarry Smith     -
443*7f296bb3SBarry Smith     -
444*7f296bb3SBarry Smith   * -
445*7f296bb3SBarry Smith     - XXt and XYt
446*7f296bb3SBarry Smith     -
447*7f296bb3SBarry Smith     - ``MATAIJ``
448*7f296bb3SBarry Smith     - ---
449*7f296bb3SBarry Smith     - X
450*7f296bb3SBarry Smith     -
451*7f296bb3SBarry Smith```
452*7f296bb3SBarry Smith
453*7f296bb3SBarry Smith______________________________________________________________________
454*7f296bb3SBarry Smith
455*7f296bb3SBarry Smith## Krylov Methods
456*7f296bb3SBarry Smith
457*7f296bb3SBarry Smith```{eval-rst}
458*7f296bb3SBarry Smith.. list-table::
459*7f296bb3SBarry Smith   :widths: auto
460*7f296bb3SBarry Smith   :align: center
461*7f296bb3SBarry Smith   :header-rows: 1
462*7f296bb3SBarry Smith
463*7f296bb3SBarry Smith   * - Algorithm
464*7f296bb3SBarry Smith     - Associated Type
465*7f296bb3SBarry Smith     - External Packages
466*7f296bb3SBarry Smith     - Parallel
467*7f296bb3SBarry Smith     - Complex
468*7f296bb3SBarry Smith   * - Richardson
469*7f296bb3SBarry Smith     - ``KSPRICHARDSON``
470*7f296bb3SBarry Smith     - ---
471*7f296bb3SBarry Smith     - X
472*7f296bb3SBarry Smith     - X
473*7f296bb3SBarry Smith   * - Chebyshev
474*7f296bb3SBarry Smith     - ``KSPCHEBYSHEV``
475*7f296bb3SBarry Smith     - ---
476*7f296bb3SBarry Smith     - X
477*7f296bb3SBarry Smith     - X
478*7f296bb3SBarry Smith   * - GMRES
479*7f296bb3SBarry Smith     - ``KSPGMRES``
480*7f296bb3SBarry Smith     - ---
481*7f296bb3SBarry Smith     - X
482*7f296bb3SBarry Smith     - X
483*7f296bb3SBarry Smith   * - Flexible GMRES
484*7f296bb3SBarry Smith     - ``KSPFGMRES``
485*7f296bb3SBarry Smith     - ---
486*7f296bb3SBarry Smith     - X
487*7f296bb3SBarry Smith     - X
488*7f296bb3SBarry Smith   * - LGMRES
489*7f296bb3SBarry Smith     - ``KSPLGMRES``
490*7f296bb3SBarry Smith     - ---
491*7f296bb3SBarry Smith     - X
492*7f296bb3SBarry Smith     - X
493*7f296bb3SBarry Smith   * - Deflated GMRES
494*7f296bb3SBarry Smith     - ``KSPDGMRES``
495*7f296bb3SBarry Smith     - ---
496*7f296bb3SBarry Smith     - X
497*7f296bb3SBarry Smith     -
498*7f296bb3SBarry Smith   * - Two-stage with least squares residual minimization
499*7f296bb3SBarry Smith     - ``KSPTSIRM``
500*7f296bb3SBarry Smith     - ---
501*7f296bb3SBarry Smith     - X
502*7f296bb3SBarry Smith     - X
503*7f296bb3SBarry Smith   * - Conjugate Gradient
504*7f296bb3SBarry Smith     - ``KSPCG``
505*7f296bb3SBarry Smith     - ---
506*7f296bb3SBarry Smith     - X
507*7f296bb3SBarry Smith     - X
508*7f296bb3SBarry Smith   * - Conjugate Gradient Squared
509*7f296bb3SBarry Smith     - ``KSPCGS``
510*7f296bb3SBarry Smith     - ---
511*7f296bb3SBarry Smith     - X
512*7f296bb3SBarry Smith     - X
513*7f296bb3SBarry Smith   * - Conjugate Gradient for Least Squares
514*7f296bb3SBarry Smith     - ``KSPCGLS``
515*7f296bb3SBarry Smith     - ---
516*7f296bb3SBarry Smith     - X
517*7f296bb3SBarry Smith     - X
518*7f296bb3SBarry Smith   * - Conjugate Gradient on Normal Equations
519*7f296bb3SBarry Smith     - ``KSPCGNE``
520*7f296bb3SBarry Smith     - ---
521*7f296bb3SBarry Smith     - X
522*7f296bb3SBarry Smith     - X
523*7f296bb3SBarry Smith   * - Nash Conjugate Gradient with trust region constraint
524*7f296bb3SBarry Smith     - ``KSPNASH``
525*7f296bb3SBarry Smith     - ---
526*7f296bb3SBarry Smith     - X
527*7f296bb3SBarry Smith     - X
528*7f296bb3SBarry Smith   * - Conjugate Gradient with trust region constraint
529*7f296bb3SBarry Smith     - ``KSPSTCG``
530*7f296bb3SBarry Smith     - ---
531*7f296bb3SBarry Smith     - X
532*7f296bb3SBarry Smith     - X
533*7f296bb3SBarry Smith   * - Gould et al Conjugate Gradient with trust region constraint
534*7f296bb3SBarry Smith     - ``KSPGLTR``
535*7f296bb3SBarry Smith     - ---
536*7f296bb3SBarry Smith     - X
537*7f296bb3SBarry Smith     - X
538*7f296bb3SBarry Smith   * - Steinhaug Conjugate Gradient with trust region constraint
539*7f296bb3SBarry Smith     - ``KSPQCG``
540*7f296bb3SBarry Smith     - ---
541*7f296bb3SBarry Smith     - X
542*7f296bb3SBarry Smith     - X
543*7f296bb3SBarry Smith   * - Left Conjugate Direction
544*7f296bb3SBarry Smith     - ``KSPLCD``
545*7f296bb3SBarry Smith     - ---
546*7f296bb3SBarry Smith     - X
547*7f296bb3SBarry Smith     - X
548*7f296bb3SBarry Smith   * - Bi-Conjugate Gradient
549*7f296bb3SBarry Smith     - ``KSPBICG``
550*7f296bb3SBarry Smith     - ---
551*7f296bb3SBarry Smith     - X
552*7f296bb3SBarry Smith     - X
553*7f296bb3SBarry Smith   * - Stabilized Bi-Conjugate Gradient
554*7f296bb3SBarry Smith     - ``KSPBCGS``
555*7f296bb3SBarry Smith     - ---
556*7f296bb3SBarry Smith     - X
557*7f296bb3SBarry Smith     - X
558*7f296bb3SBarry Smith   * - Improved Stabilized Bi-Conjugate Gradient
559*7f296bb3SBarry Smith     - ``KSPIBCGS``
560*7f296bb3SBarry Smith     - ---
561*7f296bb3SBarry Smith     - X
562*7f296bb3SBarry Smith     - X
563*7f296bb3SBarry Smith   * - Transpose-free QMR
564*7f296bb3SBarry Smith     - ``KSPTFQMR``
565*7f296bb3SBarry Smith     - ---
566*7f296bb3SBarry Smith     - X
567*7f296bb3SBarry Smith     - X
568*7f296bb3SBarry Smith   * - Transpose-free variant of QMR developed by Tony Chan
569*7f296bb3SBarry Smith     - ``KSPTCQMR``
570*7f296bb3SBarry Smith     - ---
571*7f296bb3SBarry Smith     - X
572*7f296bb3SBarry Smith     - X
573*7f296bb3SBarry Smith   * - QMR BiCGStab
574*7f296bb3SBarry Smith     - ``KSPQMRCGS``
575*7f296bb3SBarry Smith     - ---
576*7f296bb3SBarry Smith     - X
577*7f296bb3SBarry Smith     - X
578*7f296bb3SBarry Smith   * - Flexible Conjugate Gradients
579*7f296bb3SBarry Smith     - ``KSPFCG``
580*7f296bb3SBarry Smith     - ---
581*7f296bb3SBarry Smith     - X
582*7f296bb3SBarry Smith     - X
583*7f296bb3SBarry Smith   * - Flexible stabilized Bi-Conjugate Gradients
584*7f296bb3SBarry Smith     - ``KSPFBCGS``
585*7f296bb3SBarry Smith     - ---
586*7f296bb3SBarry Smith     - X
587*7f296bb3SBarry Smith     - X
588*7f296bb3SBarry Smith   * - Flexible stabilized Bi-Conjugate Gradients with fewer reductions
589*7f296bb3SBarry Smith     - ``KSPFBCGSR``
590*7f296bb3SBarry Smith     - ---
591*7f296bb3SBarry Smith     - X
592*7f296bb3SBarry Smith     - X
593*7f296bb3SBarry Smith   * - Stabilized Bi-Conjugate Gradients with length :math:`\ell` recurrence
594*7f296bb3SBarry Smith     - ``KSPBCGSL``
595*7f296bb3SBarry Smith     - ---
596*7f296bb3SBarry Smith     - X
597*7f296bb3SBarry Smith     - X
598*7f296bb3SBarry Smith   * - Conjugate Residual
599*7f296bb3SBarry Smith     - ``KSPCR``
600*7f296bb3SBarry Smith     - ---
601*7f296bb3SBarry Smith     - X
602*7f296bb3SBarry Smith     - X
603*7f296bb3SBarry Smith   * - Generalized Conjugate Residual
604*7f296bb3SBarry Smith     - ``KSPGCR``
605*7f296bb3SBarry Smith     - ---
606*7f296bb3SBarry Smith     - X
607*7f296bb3SBarry Smith     - X
608*7f296bb3SBarry Smith   * - Generalized Conjugate Residual (with inner normalization and deflated restarts)
609*7f296bb3SBarry Smith     - ``KSPHPDDM``
610*7f296bb3SBarry Smith     - `HPDDM <https://github.com/hpddm/hpddm>`__
611*7f296bb3SBarry Smith     - X
612*7f296bb3SBarry Smith     - X
613*7f296bb3SBarry Smith   * - Minimum Residual
614*7f296bb3SBarry Smith     - ``KSPMINRES``
615*7f296bb3SBarry Smith     - ---
616*7f296bb3SBarry Smith     - X
617*7f296bb3SBarry Smith     - X
618*7f296bb3SBarry Smith   * - LSQR
619*7f296bb3SBarry Smith     - ``KSPLSQR``
620*7f296bb3SBarry Smith     - ---
621*7f296bb3SBarry Smith     - X
622*7f296bb3SBarry Smith     - X
623*7f296bb3SBarry Smith   * - SYMMLQ
624*7f296bb3SBarry Smith     - ``KSPSYMMLQ``
625*7f296bb3SBarry Smith     - ---
626*7f296bb3SBarry Smith     - X
627*7f296bb3SBarry Smith     - X
628*7f296bb3SBarry Smith   * - FETI-DP (reduction to dual-primal sub-problem)
629*7f296bb3SBarry Smith     - ``KSPFETIDP``
630*7f296bb3SBarry Smith     - ---
631*7f296bb3SBarry Smith     - X
632*7f296bb3SBarry Smith     - X
633*7f296bb3SBarry Smith   * - Gropp's overlapped reduction pipelined Conjugate Gradient
634*7f296bb3SBarry Smith     - ``KSPGROPPCG``
635*7f296bb3SBarry Smith     - ---
636*7f296bb3SBarry Smith     - X
637*7f296bb3SBarry Smith     - X
638*7f296bb3SBarry Smith   * - Pipelined Conjugate Gradient
639*7f296bb3SBarry Smith     - ``KSPPIPECG``
640*7f296bb3SBarry Smith     - ---
641*7f296bb3SBarry Smith     - X
642*7f296bb3SBarry Smith     - X
643*7f296bb3SBarry Smith   * - Pipelined Conjugate Gradient with residual replacement
644*7f296bb3SBarry Smith     - ``KSPPIPECGRR``
645*7f296bb3SBarry Smith     - ---
646*7f296bb3SBarry Smith     - X
647*7f296bb3SBarry Smith     - X
648*7f296bb3SBarry Smith   * - Pipelined depth :math:`\ell` Conjugate Gradient
649*7f296bb3SBarry Smith     - ``KSPPIPELCG``
650*7f296bb3SBarry Smith     - ---
651*7f296bb3SBarry Smith     - X
652*7f296bb3SBarry Smith     - X
653*7f296bb3SBarry Smith   * - Pipelined predict-and-recompute Conjugate Gradient
654*7f296bb3SBarry Smith     - ``KSPPIPEPRCG``
655*7f296bb3SBarry Smith     - ---
656*7f296bb3SBarry Smith     - X
657*7f296bb3SBarry Smith     - X
658*7f296bb3SBarry Smith   * - Pipelined Conjugate Gradient over iteration pairs
659*7f296bb3SBarry Smith     - ``KSPPIPECG2``
660*7f296bb3SBarry Smith     - ---
661*7f296bb3SBarry Smith     - X
662*7f296bb3SBarry Smith     - X
663*7f296bb3SBarry Smith   * - Pipelined flexible Conjugate Gradient
664*7f296bb3SBarry Smith     - ``KSPPIPEFCG``
665*7f296bb3SBarry Smith     - ---
666*7f296bb3SBarry Smith     - X
667*7f296bb3SBarry Smith     - X
668*7f296bb3SBarry Smith   * - Pipelined stabilized Bi-Conjugate Gradients
669*7f296bb3SBarry Smith     - ``KSPPIPEBCGS``
670*7f296bb3SBarry Smith     - ---
671*7f296bb3SBarry Smith     - X
672*7f296bb3SBarry Smith     - X
673*7f296bb3SBarry Smith   * - Pipelined Conjugate Residual
674*7f296bb3SBarry Smith     - ``KSPPIPECR``
675*7f296bb3SBarry Smith     - ---
676*7f296bb3SBarry Smith     - X
677*7f296bb3SBarry Smith     - X
678*7f296bb3SBarry Smith   * - Pipelined flexible GMRES
679*7f296bb3SBarry Smith     - ``KSPPIPEFGMRES``
680*7f296bb3SBarry Smith     - ---
681*7f296bb3SBarry Smith     - X
682*7f296bb3SBarry Smith     - X
683*7f296bb3SBarry Smith   * - Pipelined Generalized Conjugate Residual
684*7f296bb3SBarry Smith     - ``KSPPIPEGCR``
685*7f296bb3SBarry Smith     - ---
686*7f296bb3SBarry Smith     - X
687*7f296bb3SBarry Smith     - X
688*7f296bb3SBarry Smith   * - Pipelined GMRES
689*7f296bb3SBarry Smith     - ``KSPPGMRES``
690*7f296bb3SBarry Smith     - ---
691*7f296bb3SBarry Smith     - X
692*7f296bb3SBarry Smith     - X
693*7f296bb3SBarry Smith```
694