MatILUFactorSymbolic#
Performs symbolic ILU factorization of a matrix obtained with MatGetFactor() Uses levels of fill only, not drop tolerance. Use MatLUFactorNumeric() to complete the factorization.
Synopsis#
#include "petscmat.h" 
PetscErrorCode MatILUFactorSymbolic(Mat fact, Mat mat, IS row, IS col, const MatFactorInfo *info)
Collective
Input Parameters#
- fact - the factorized matrix obtained with - MatGetFactor()
- mat - the matrix 
- row - row permutation 
- col - column permutation 
- info - structure containing 
      levels - number of levels of fill.
      expected fill - as ratio of original fill.
      1 or 0 - indicating force fill on diagonal (improves robustness for matrices
                missing diagonal entries)
Notes#
See Matrix Factorization for additional information.
Most users should employ the KSP interface for linear solvers
instead of working directly with matrix algebra routines such as this.
See, e.g., KSPCreate().
Uses the definition of level of fill as in Y. Saad, [Saa03]
Developer Note#
The Fortran interface is not autogenerated as the
interface definition cannot be generated correctly [due to MatFactorInfo]
References#
Yousef Saad. Iterative Methods for Sparse Linear Systems. SIAM, 2nd edition, 2003. doi:10.1016/S1570-579X(01)80025-2.
See Also#
Matrices, Mat, Matrix Factorization, MatGetFactor(), MatLUFactorSymbolic(), MatLUFactorNumeric(), MatCholeskyFactor()
MatGetOrdering(), MatFactorInfo
Level#
developer
Location#
Implementations#
MatILUFactorSymbolic_SeqAIJ() in src/mat/impls/aij/seq/aijfact.c
MatILUFactorSymbolic_SeqAIJKokkos() in src/mat/impls/aij/seq/kokkos/aijkok.kokkos.cxx
MatILUFactorSymbolic_SeqAIJCUSPARSE() in src/mat/impls/aij/seq/seqcusparse/aijcusparse.cu
MatILUFactorSymbolic_SeqAIJHIPSPARSE() in src/mat/impls/aij/seq/seqhipsparse/aijhipsparse.hip.c
MatILUFactorSymbolic_SeqBAIJ() in src/mat/impls/baij/seq/baijfact2.c
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages