petsc-3.14.6 2021-03-30
Report Typos and Errors

MatGetFactor

Returns a matrix suitable to calls to MatXXFactorSymbolic()

Synopsis

#include "petscmat.h" 
PetscErrorCode MatGetFactor(Mat mat, MatSolverType type,MatFactorType ftype,Mat *f)
Collective on Mat

Input Parameters

mat - the matrix
type - name of solver type, for example, superlu, petsc (to use PETSc's default)
ftype - factor type, MAT_FACTOR_LU, MAT_FACTOR_CHOLESKY, MAT_FACTOR_ICC, MAT_FACTOR_ILU,

Output Parameters

f - the factor matrix used with MatXXFactorSymbolic() calls

Notes

Some PETSc matrix formats have alternative solvers available that are contained in alternative packages such as pastix, superlu, mumps etc.

PETSc must have been ./configure to use the external solver, using the option --download-package

Developer Notes

This should actually be called MatCreateFactor() since it creates a new factor object

See Also

MatCopy(), MatDuplicate(), MatGetFactorAvailable(), MatFactorGetUseOrdering(), MatSolverTypeRegister()

Level

intermediate

Location

src/mat/interface/matrix.c

Examples

src/ksp/ksp/tutorials/ex52.c.html

Implementations

MatGetFactor_aij_sparseelemental in src/mat/impls/aij/mpi/clique/clique.cxx
MatGetFactor_mpiaij_mkl_cpardiso in src/mat/impls/aij/mpi/mkl_cpardiso/mkl_cpardiso.c
MatGetFactor_aij_mumps in src/mat/impls/aij/mpi/mumps/mumps.c
MatGetFactor_sbaij_mumps in src/mat/impls/aij/mpi/mumps/mumps.c
MatGetFactor_baij_mumps in src/mat/impls/aij/mpi/mumps/mumps.c
MatGetFactor_sell_mumps in src/mat/impls/aij/mpi/mumps/mumps.c
MatGetFactor_seqaij_pastix in src/mat/impls/aij/mpi/pastix/pastix.c
MatGetFactor_mpiaij_pastix in src/mat/impls/aij/mpi/pastix/pastix.c
MatGetFactor_seqsbaij_pastix in src/mat/impls/aij/mpi/pastix/pastix.c
MatGetFactor_mpisbaij_pastix in src/mat/impls/aij/mpi/pastix/pastix.c
MatGetFactor_aij_strumpack in src/mat/impls/aij/mpi/strumpack/strumpack.c
MatGetFactor_aij_superlu_dist in src/mat/impls/aij/mpi/superlu_dist/superlu_dist.c
MatGetFactor_seqaij_petsc in src/mat/impls/aij/seq/aijfact.c
MatGetFactor_seqaij_bas in src/mat/impls/aij/seq/bas/basfactor.c
MatGetFactor_seqaij_cholmod in src/mat/impls/aij/seq/cholmod/aijcholmod.c
MatGetFactor_seqaij_essl in src/mat/impls/aij/seq/essl/essl.c
MatGetFactor_seqaij_klu in src/mat/impls/aij/seq/klu/klu.c
MatGetFactor_seqaij_lusol in src/mat/impls/aij/seq/lusol/lusol.c
MatGetFactor_seqaij_matlab in src/mat/impls/aij/seq/matlab/aijmatlab.c
MatGetFactor_aij_mkl_pardiso in src/mat/impls/aij/seq/mkl_pardiso/mkl_pardiso.c
MatGetFactor_seqaijcusparse_cusparse in src/mat/impls/aij/seq/seqcusparse/aijcusparse.cu
MatGetFactor_seqaij_superlu in src/mat/impls/aij/seq/superlu/superlu.c
MatGetFactor_seqsell_superlu in src/mat/impls/aij/seq/superlu/superlu.c
MatGetFactor_seqaij_umfpack in src/mat/impls/aij/seq/umfpack/umfpack.c
MatGetFactor_seqbaij_petsc in src/mat/impls/baij/seq/baijfact.c
MatGetFactor_constantdiagonal_petsc in src/mat/impls/cdiagonal/cdiagonal.c
MatGetFactor_seqdense_cuda in src/mat/impls/dense/seq/cuda/densecuda.cu
MatGetFactor_seqdense_petsc in src/mat/impls/dense/seq/dense.c
MatGetFactor_elemental_elemental in src/mat/impls/elemental/matelem.cxx
MatGetFactor_seqsbaij_cholmod in src/mat/impls/sbaij/seq/cholmod/sbaijcholmod.c
MatGetFactor_seqsbaij_petsc in src/mat/impls/sbaij/seq/sbaij.c
MatGetFactor_scalapack_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