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