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; /* 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 */
  PetscBool factoronhost;  /* do factorization on host instead of device (for device matrix types) */
  PetscBool solveonhost;   /* do mat solve on host with the factor (for device matrix types) */
} MatFactorInfo;

Note#

You can use MatFactorInfoInitialize() to set default values.

Fortran Note#

MatFactorInfo is a derived type, use e.g. matfactorinfo%dt to access its components.

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