PETSc version 3.17.4
Fix/Edit manual page

# MatFactorInfo

Data passed into the matrix factorization routines, and information about the resulting factorization

### Synopsis

    typedef struct {
      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     zeropivot;      /* pivot is called zero if less than this */
      PetscReal     shifttype;      /* type of shift added to matrix factor to prevent zero pivots */
      PetscReal     shiftamount;     /* how large the shift is */
    } 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.

### See Also

MatLUFactorSymbolic(), MatILUFactorSymbolic(), MatCholeskyFactorSymbolic(), MatICCFactorSymbolic(), MatICCFactor(),
MatFactorInfoInitialize()

### 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