MatILUFactor#
Performs in-place ILU factorization of matrix.
Synopsis#
#include "petscmat.h"
PetscErrorCode MatILUFactor(Mat mat, IS row, IS col, const MatFactorInfo *info)
Collective
Input Parameters#
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#
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()
.
Probably really in-place only when level of fill is zero, otherwise allocates
new space to store factored matrix and deletes previous memory. The preferred approach is to use MatGetFactor()
, MatILUFactorSymbolic()
, and MatILUFactorNumeric()
when not using KSP
.
Developer Note#
The Fortran interface is not autogenerated as the interface definition cannot be generated correctly [due to MatFactorInfo]
See Also#
Matrices, Mat
, Matrix Factorization, MatILUFactorSymbolic()
, MatLUFactorNumeric()
, MatCholeskyFactor()
, MatFactorInfo
Level#
developer
Location#
Implementations#
MatILUFactor_SeqAIJ() in src/mat/impls/aij/seq/aij.c
MatILUFactor_SeqBAIJ() in src/mat/impls/baij/seq/baij.c
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages