petsc-3.13.6 2020-09-29
Report Typos and Errors


Performs symbolic ILU factorization of a matrix. Uses levels of fill only, not drop tolerance. Use MatLUFactorNumeric() to complete the factorization.


#include "petscmat.h" 
PetscErrorCode MatILUFactorSymbolic(Mat fact,Mat mat,IS row,IS col,const MatFactorInfo *info)
Collective on Mat

Input Parameters

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


See Users-Manual: ch_mat for additional information about choosing the fill factor for better efficiency.

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().

See Also

MatLUFactorSymbolic(), MatLUFactorNumeric(), MatCholeskyFactor()
MatGetOrdering(), MatFactorInfo

Note: this uses the definition of level of fill as in Y. Saad, 2003

Developer Note: fortran interface is not autogenerated as the f90 interface defintion cannot be generated correctly [due to MatFactorInfo]


Y. Saad, Iterative methods for sparse linear systems Philadelphia: Society for Industrial and Applied Mathematics, 2003






MatILUFactorSymbolic_SeqAIJ_ilu0 in src/mat/impls/aij/seq/aijfact.c
MatILUFactorSymbolic_SeqAIJ in src/mat/impls/aij/seq/aijfact.c
MatILUFactorSymbolic_SeqAIJ_inplace in src/mat/impls/aij/seq/aijfact.c
MatILUFactorSymbolic_SeqAIJCUSPARSE in src/mat/impls/aij/seq/seqcusparse/
MatILUFactorSymbolic_SeqBAIJ_ilu0 in src/mat/impls/baij/seq/baijfact2.c
MatILUFactorSymbolic_SeqBAIJ in src/mat/impls/baij/seq/baijfact2.c
MatILUFactorSymbolic_SeqBAIJ_inplace 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