petsc-master 2020-09-20
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().

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_MKL_CPARDISO in src/mat/impls/aij/mpi/mkl_cpardiso/mkl_cpardiso.c
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_SuperLU_DIST in src/mat/impls/aij/mpi/superlu_dist/superlu_dist.c
MatSolve_SeqAIJ_inplace in src/mat/impls/aij/seq/aijfact.c
MatSolve_SeqAIJ_InplaceWithPerm in src/mat/impls/aij/seq/aijfact.c
MatSolve_SeqAIJ_NaturalOrdering_inplace in src/mat/impls/aij/seq/aijfact.c
MatSolve_SeqAIJ_NaturalOrdering in src/mat/impls/aij/seq/aijfact.c
MatSolve_SeqAIJ in src/mat/impls/aij/seq/aijfact.c
MatSolve_Essl in src/mat/impls/aij/seq/essl/essl.c
MatSolve_SeqAIJ_Inode_inplace in src/mat/impls/aij/seq/inode.c
MatSolve_SeqAIJ_Inode in src/mat/impls/aij/seq/inode.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_MKL_PARDISO in src/mat/impls/aij/seq/mkl_pardiso/mkl_pardiso.c
MatSolve_SeqAIJCUSPARSE in src/mat/impls/aij/seq/seqcusparse/aijcusparse.cu
MatSolve_SeqAIJCUSPARSE_NaturalOrdering in src/mat/impls/aij/seq/seqcusparse/aijcusparse.cu
MatSolve_SuperLU in src/mat/impls/aij/seq/superlu/superlu.c
MatSolve_UMFPACK in src/mat/impls/aij/seq/umfpack/umfpack.c
MatSolve_SeqBAIJ_N_NaturalOrdering in src/mat/impls/baij/seq/baijfact.c
MatSolve_SeqBAIJ_N in src/mat/impls/baij/seq/baijfact.c
MatSolve_SeqBAIJ_9_NaturalOrdering in src/mat/impls/baij/seq/baijfact81.c
MatSolve_SeqBAIJ_N_inplace in src/mat/impls/baij/seq/baijsolv.c
MatSolve_SeqBAIJ_7_inplace in src/mat/impls/baij/seq/baijsolv.c
MatSolve_SeqBAIJ_7 in src/mat/impls/baij/seq/baijsolv.c
MatSolve_SeqBAIJ_6_inplace in src/mat/impls/baij/seq/baijsolv.c
MatSolve_SeqBAIJ_6 in src/mat/impls/baij/seq/baijsolv.c
MatSolve_SeqBAIJ_5_inplace in src/mat/impls/baij/seq/baijsolv.c
MatSolve_SeqBAIJ_5 in src/mat/impls/baij/seq/baijsolv.c
MatSolve_SeqBAIJ_4_inplace in src/mat/impls/baij/seq/baijsolv.c
MatSolve_SeqBAIJ_4 in src/mat/impls/baij/seq/baijsolv.c
MatSolve_SeqBAIJ_4_Demotion in src/mat/impls/baij/seq/baijsolv.c
MatSolve_SeqBAIJ_4_SSE_Demotion in src/mat/impls/baij/seq/baijsolv.c
MatSolve_SeqBAIJ_3_inplace in src/mat/impls/baij/seq/baijsolv.c
MatSolve_SeqBAIJ_3 in src/mat/impls/baij/seq/baijsolv.c
MatSolve_SeqBAIJ_2_inplace in src/mat/impls/baij/seq/baijsolv.c
MatSolve_SeqBAIJ_2 in src/mat/impls/baij/seq/baijsolv.c
MatSolve_SeqBAIJ_1_inplace in src/mat/impls/baij/seq/baijsolv.c
MatSolve_SeqBAIJ_1 in src/mat/impls/baij/seq/baijsolv.c
MatSolve_SeqBAIJ_1_NaturalOrdering_inplace in src/mat/impls/baij/seq/baijsolvnat1.c
MatSolve_SeqBAIJ_1_NaturalOrdering in src/mat/impls/baij/seq/baijsolvnat1.c
MatSolve_SeqBAIJ_11_NaturalOrdering in src/mat/impls/baij/seq/baijsolvnat11.c
MatSolve_SeqBAIJ_14_NaturalOrdering in src/mat/impls/baij/seq/baijsolvnat14.c
MatSolve_SeqBAIJ_13_NaturalOrdering in src/mat/impls/baij/seq/baijsolvnat14.c
MatSolve_SeqBAIJ_12_NaturalOrdering in src/mat/impls/baij/seq/baijsolvnat14.c
MatSolve_SeqBAIJ_15_NaturalOrdering_ver2 in src/mat/impls/baij/seq/baijsolvnat15.c
MatSolve_SeqBAIJ_15_NaturalOrdering_ver1 in src/mat/impls/baij/seq/baijsolvnat15.c
MatSolve_SeqBAIJ_2_NaturalOrdering_inplace in src/mat/impls/baij/seq/baijsolvnat2.c
MatSolve_SeqBAIJ_2_NaturalOrdering in src/mat/impls/baij/seq/baijsolvnat2.c
MatSolve_SeqBAIJ_3_NaturalOrdering_inplace in src/mat/impls/baij/seq/baijsolvnat3.c
MatSolve_SeqBAIJ_3_NaturalOrdering in src/mat/impls/baij/seq/baijsolvnat3.c
MatSolve_SeqBAIJ_4_NaturalOrdering_inplace in src/mat/impls/baij/seq/baijsolvnat4.c
MatSolve_SeqBAIJ_4_NaturalOrdering in src/mat/impls/baij/seq/baijsolvnat4.c
MatSolve_SeqBAIJ_4_NaturalOrdering_Demotion in src/mat/impls/baij/seq/baijsolvnat4.c
MatSolve_SeqBAIJ_4_NaturalOrdering_SSE_Demotion_usj in src/mat/impls/baij/seq/baijsolvnat4.c
MatSolve_SeqBAIJ_4_NaturalOrdering_SSE_Demotion in src/mat/impls/baij/seq/baijsolvnat4.c
MatSolve_SeqBAIJ_5_NaturalOrdering_inplace in src/mat/impls/baij/seq/baijsolvnat5.c
MatSolve_SeqBAIJ_5_NaturalOrdering in src/mat/impls/baij/seq/baijsolvnat5.c
MatSolve_SeqBAIJ_6_NaturalOrdering_inplace in src/mat/impls/baij/seq/baijsolvnat6.c
MatSolve_SeqBAIJ_6_NaturalOrdering in src/mat/impls/baij/seq/baijsolvnat6.c
MatSolve_SeqBAIJ_7_NaturalOrdering_inplace in src/mat/impls/baij/seq/baijsolvnat7.c
MatSolve_SeqBAIJ_7_NaturalOrdering in src/mat/impls/baij/seq/baijsolvnat7.c
MatSolve_SeqDenseCUDA in src/mat/impls/dense/seq/cuda/densecuda.cu
MatSolve_SeqDense in src/mat/impls/dense/seq/dense.c
MatSolve_Elemental in src/mat/impls/elemental/matelem.cxx
MatSolve_CHOLMOD in src/mat/impls/sbaij/seq/cholmod/sbaijcholmod.c
MatSolve_SeqSBAIJ_N_inplace in src/mat/impls/sbaij/seq/sbaijfact2.c
MatSolve_SeqSBAIJ_N_NaturalOrdering_inplace in src/mat/impls/sbaij/seq/sbaijfact2.c
MatSolve_SeqSBAIJ_7_inplace in src/mat/impls/sbaij/seq/sbaijfact2.c
MatSolve_SeqSBAIJ_7_NaturalOrdering_inplace in src/mat/impls/sbaij/seq/sbaijfact2.c
MatSolve_SeqSBAIJ_6_inplace in src/mat/impls/sbaij/seq/sbaijfact2.c
MatSolve_SeqSBAIJ_6_NaturalOrdering_inplace in src/mat/impls/sbaij/seq/sbaijfact2.c
MatSolve_SeqSBAIJ_5_inplace in src/mat/impls/sbaij/seq/sbaijfact2.c
MatSolve_SeqSBAIJ_5_NaturalOrdering_inplace in src/mat/impls/sbaij/seq/sbaijfact2.c
MatSolve_SeqSBAIJ_4_inplace in src/mat/impls/sbaij/seq/sbaijfact2.c
MatSolve_SeqSBAIJ_4_NaturalOrdering_inplace in src/mat/impls/sbaij/seq/sbaijfact2.c
MatSolve_SeqSBAIJ_3_inplace in src/mat/impls/sbaij/seq/sbaijfact2.c
MatSolve_SeqSBAIJ_3_NaturalOrdering_inplace in src/mat/impls/sbaij/seq/sbaijfact2.c
MatSolve_SeqSBAIJ_2_inplace in src/mat/impls/sbaij/seq/sbaijfact2.c
MatSolve_SeqSBAIJ_2_NaturalOrdering_inplace in src/mat/impls/sbaij/seq/sbaijfact2.c
MatSolve_SeqSBAIJ_1 in src/mat/impls/sbaij/seq/sbaijfact2.c
MatSolve_SeqSBAIJ_1_inplace in src/mat/impls/sbaij/seq/sbaijfact2.c
MatSolve_SeqSBAIJ_1_NaturalOrdering in src/mat/impls/sbaij/seq/sbaijfact2.c
MatSolve_SeqSBAIJ_1_NaturalOrdering_inplace in src/mat/impls/sbaij/seq/sbaijfact2.c
MatSolve_ScaLAPACK in src/mat/impls/scalapack/matscalapack.c

Index of all Mat routines