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 on fact
Input Parameters#
fact - the factorized matrix obtained with
MatGetFactor()mat - the matrix
row - row permutation
column - 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)
Output Parameters#
fact - new matrix that has been symbolically factored
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, 2003
Developer Note#
The Fortran interface is not autogenerated as the
interface definition cannot be generated correctly [due to MatFactorInfo]
References#
**** -*** Y. Saad, Iterative methods for sparse linear systems Philadelphia: Society for Industrial and Applied Mathematics, 2003
See Also#
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