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

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