petsc-main 2021-04-16
Report Typos and Errors

MatSolve

Solves A x = b, given a factored matrix.

Synopsis

#include "petscmat.h" 
PetscErrorCode MatSolve(Mat mat,Vec b,Vec x)
Neighbor-wise Collective on Mat

Input Parameters

mat - the factored matrix
b - the right-hand-side vector

Output Parameter

x - the result vector

Notes

The vectors b and x cannot be the same. I.e., one cannot call MatSolve(A,x,x).

Notes

Most users should employ the simplified KSP interface for linear solvers instead of working directly with matrix algebra routines such as this. See, e.g., KSPCreate().

See Also

MatSolveAdd(), MatSolveTranspose(), MatSolveTransposeAdd()

Level

developer

Location

src/mat/interface/matrix.c

Examples

src/tao/unconstrained/tutorials/eptorsion1.c.html
src/tao/unconstrained/tutorials/rosenbrock1.c.html

Implementations

MatSolve_SparseElemental in src/mat/impls/aij/mpi/clique/clique.cxx
MatSolve_MUMPS in src/mat/impls/aij/mpi/mumps/mumps.c
MatSolve_PaStiX in src/mat/impls/aij/mpi/pastix/pastix.c
MatSolve_STRUMPACK in src/mat/impls/aij/mpi/strumpack/strumpack.c
MatSolve_SeqAIJ in src/mat/impls/aij/seq/aijfact.c
MatSolve_Essl in src/mat/impls/aij/seq/essl/essl.c
MatSolve_KLU in src/mat/impls/aij/seq/klu/klu.c
MatSolve_LUSOL in src/mat/impls/aij/seq/lusol/lusol.c
MatSolve_Matlab in src/mat/impls/aij/seq/matlab/aijmatlab.c
MatSolve_SeqAIJCUSPARSE in src/mat/impls/aij/seq/seqcusparse/aijcusparse.cu
MatSolve_SeqAIJCUSPARSEBAND in src/mat/impls/aij/seq/seqcusparse/aijcusparseband.cu
MatSolve_SuperLU in src/mat/impls/aij/seq/superlu/superlu.c
MatSolve_UMFPACK in src/mat/impls/aij/seq/umfpack/umfpack.c
MatSolve_SeqDenseCUDA in src/mat/impls/dense/seq/cuda/densecuda.cu
MatSolve_Elemental in src/mat/impls/elemental/matelem.cxx
MatSolve_CHOLMOD in src/mat/impls/sbaij/seq/cholmod/sbaijcholmod.c
MatSolve_ScaLAPACK in src/mat/impls/scalapack/matscalapack.c

Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages