MatLUFactorSymbolic#

Performs symbolic LU factorization of matrix. Call this routine before calling MatLUFactorNumeric() and after MatGetFactor().

Synopsis#

#include "petscmat.h" 
PetscErrorCode MatLUFactorSymbolic(Mat fact, Mat mat, IS row, IS col, const MatFactorInfo *info)

Collective

Input Parameters#

  • fact - the factor matrix obtained with MatGetFactor()

  • mat - the matrix

  • row - the row permutation

  • col - the column permutation

  • info - options for factorization, includes

          fill - expected fill as ratio of original fill. Run with the option -info to determine an optimal value to use
          dtcol - pivot tolerance (0 no pivot, 1 full column pivoting)

Notes#

See Matrix Factorization for additional information about factorizations

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 Note#

The Fortran interface is not autogenerated as the interface definition cannot be generated correctly [due to MatFactorInfo]

See Also#

Matrices, Mat, Matrix Factorization, MatGetFactor(), MatLUFactor(), MatLUFactorNumeric(), MatCholeskyFactor(), MatFactorInfo, MatFactorInfoInitialize()

Level#

developer

Location#

src/mat/interface/matrix.c

Examples#

src/ksp/ksp/tutorials/ex52.c

Implementations#

MatLUFactorSymbolic_AIJMUMPS() in src/mat/impls/aij/mpi/mumps/mumps.c
MatLUFactorSymbolic_BAIJMUMPS() in src/mat/impls/aij/mpi/mumps/mumps.c
MatLUFactorSymbolic_AIJPASTIX() in src/mat/impls/aij/mpi/pastix/pastix.c
MatLUFactorSymbolic_STRUMPACK() in src/mat/impls/aij/mpi/strumpack/strumpack.c
MatLUFactorSymbolic_SuperLU_DIST() in src/mat/impls/aij/mpi/superlu_dist/superlu_dist.c
MatLUFactorSymbolic_SeqAIJ() in src/mat/impls/aij/seq/aijfact.c
MatLUFactorSymbolic_Essl() in src/mat/impls/aij/seq/essl/essl.c
MatLUFactorSymbolic_KLU() in src/mat/impls/aij/seq/klu/klu.c
MatLUFactorSymbolic_SeqAIJKokkos() in src/mat/impls/aij/seq/kokkos/aijkok.kokkos.cxx
MatLUFactorSymbolic_LUSOL() in src/mat/impls/aij/seq/lusol/lusol.c
MatLUFactorSymbolic_Matlab() in src/mat/impls/aij/seq/matlab/aijmatlab.c
MatLUFactorSymbolic_SeqAIJCUSPARSE() in src/mat/impls/aij/seq/seqcusparse/aijcusparse.cu
MatLUFactorSymbolic_SeqAIJHIPSPARSE() in src/mat/impls/aij/seq/seqhipsparse/aijhipsparse.hip.c
MatLUFactorSymbolic_SuperLU() in src/mat/impls/aij/seq/superlu/superlu.c
MatLUFactorSymbolic_UMFPACK() in src/mat/impls/aij/seq/umfpack/umfpack.c
MatLUFactorSymbolic_SeqBAIJ() in src/mat/impls/baij/seq/baijfact3.c
MatLUFactorSymbolic_SeqDense() in src/mat/impls/dense/seq/dense.c
MatLUFactorSymbolic_Elemental() in src/mat/impls/elemental/matelem.cxx
MatLUFactorSymbolic_ScaLAPACK() in src/mat/impls/scalapack/matscalapack.c
MatLUFactorSymbolic_HT() in src/mat/impls/transpose/htransm.c
MatLUFactorSymbolic_Transpose() in src/mat/impls/transpose/transm.c


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