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