Skip to main content
`Ctrl`+`K`

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

## Note

You can use `MatFactorInfoInitialize()` to set default values.

## Fortran Note

The data is available in a double precision arrays of size `MAT_FACTORINFO_SIZE`

## See Also

Matrices, `Mat`, `MatInfo`, `MatGetFactor()`, `MatLUFactorSymbolic()`, `MatILUFactorSymbolic()`, `MatCholeskyFactorSymbolic()`, `MatICCFactorSymbolic()`, `MatICCFactor()`, `MatFactorInfoInitialize()`

## Level

developer

## Location

include/petscmat.h

## Examples

src/ksp/ksp/tutorials/ex52.c

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