Performs symbolic incomplete Cholesky factorization for a symmetric matrix. Use MatCholeskyFactorNumeric() to complete the factorization.


#include "petscmat.h" 
PetscErrorCode MatICCFactorSymbolic(Mat fact, Mat mat, IS perm, const MatFactorInfo *info)

Collective on fact

Input Parameters#

  • fact - the factorized matrix obtained with MatGetFactor()

  • mat - the matrix to be factored

  • perm - row and column permutation

  • info - structure containing

levels - number of levels of fill.
expected fill - as ratio of original fill.

Output Parameter#

  • fact - the factored matrix


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

This 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]


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

See Also#

MatGetFactor(), MatCholeskyFactorNumeric(), MatCholeskyFactor(), MatFactorInfo






MatICCFactorSymbolic_SeqAIJ in src/mat/impls/aij/seq/aijfact.c
MatICCFactorSymbolic_SeqAIJCUSPARSE in src/mat/impls/aij/seq/seqcusparse/
MatICCFactorSymbolic_SeqAIJHIPSPARSE in src/mat/impls/aij/seq/seqhipsparse/aijhipsparse.hip.c
MatICCFactorSymbolic_SeqBAIJ in src/mat/impls/baij/seq/baijfact.c
MatICCFactorSymbolic_SeqSBAIJ in src/mat/impls/sbaij/seq/sbaijfact2.c

Edit on GitLab

Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages