typedef struct {
PetscReal shiftnz; /* scaling of identity added to matrix to prevent zero pivots */
PetscReal shiftpd; /* if true, shift until positive pivots */
PetscReal diagonal_fill; /* force diagonal to fill in if initially not filled */
PetscReal usedt;
PetscReal dt; /* drop tolerance */
PetscReal dtcol; /* tolerance for pivoting */
PetscReal dtcount; /* maximum nonzeros to be allowed per row */
PetscReal fill; /* expected fill, nonzeros in factored matrix/nonzeros in original matrix */
PetscReal levels; /* ICC/ILU(levels) */
PetscReal pivotinblocks; /* for BAIJ and SBAIJ matrices pivot in factorization on blocks, default 1.0
factorization may be faster if do not pivot */
PetscReal shiftinblocks; /* if block in block factorization has zero pivot then shift diagonal until non-singular */
PetscReal zeropivot; /* pivot is called zero if less than this */
} MatFactorInfo;
In Fortran these are simply double precision arrays of size MAT_FACTORINFO_SIZE, that is use
MatFactorInfo info(MAT_FACTORINFO_SIZE)
Notes: These are not usually directly used by users, instead use PC type of LU, ILU, CHOLESKY or ICC.
You can use MatFactorInfoInitialize() to set default values.
Level:developer
Location:src/mat/../../include/petscmat.h
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages