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_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_SeqAIJKOKKOSDEVICE 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_SeqAIJCUSPARSEBAND in src/mat/impls/aij/seq/seqcusparse/aijcusparseband.cu
MatLUFactorSymbolic_SeqAIJHIPSPARSE in src/mat/impls/aij/seq/seqhipsparse/aijhipsparse.hip.c
MatLUFactorSymbolic_SeqAIJHIPSPARSEBAND in src/mat/impls/aij/seq/seqhipsparse/aijhipsparseband.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


Edit on GitLab

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