# MatFactorInfo

Data passed into the matrix factorization routines

### Synopsis

    typedef struct {
      PetscReal     shiftnz;        /* scaling of identity added to matrix to prevent zero pivots */
      PetscReal     shiftpd;        /* if true, shift until positive pivots */
      PetscReal     shift_fraction; /* record shift fraction taken */
      PetscReal     diagonal_fill;  /* force diagonal to fill in if initially not filled */
      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 */
    } MatFactorInfo;

In Fortran these are simply double precision arrays of size MAT_FACTORINFO_SIZE

Notes: These are not usually directly used by users, instead use PC type of LU, ILU, CHOLESKY or ICC.

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