# PCICC

Incomplete Cholesky factorization preconditioners.

### Options Database Keys

| -pc_icc_levels <k> | - number of levels of fill for ICC(k)
| -pc_icc_in_place | - only for ICC(0) with natural ordering, reuses the space of the matrix for its factorization (overwrites original matrix)
| -pc_icc_damping | - add damping to diagonal to prevent zero (or very small) pivots
| -pc_icc_shift | - apply Manteuffel shift to diagonal to force positive definite preconditioner
| -pc_icc_zeropivot <tol> | - set tolerance for what is considered a zero pivot
| -pc_icc_fill <nfill> | - expected amount of fill in factored matrix compared to original matrix, nfill > 1
| -pc_icc_mat_ordering_type <natural,nd,1wd,rcm,qmd> | - set the row/column ordering of the factored matrix

Notes: Only implemented for some matrix formats. Not implemented in parallel

For BAIJ matrices this implements a point block ICC.

The Manteuffel shift is only implemented for matrices with block size 1

By default, the Manteuffel is applied (for matrices with block size 1). Call PCICCSetShift(pc,PETSC_FALSE); to turn off the shift.

### See Also

PCCreate(), PCSetType(), PCType (for list of available types), PC, PCSOR, MatOrderingType,
PCICCSetSetZeroPivot(), PCICCSetDamping(), PCICCSetShift(), PCICCSetFill(), PCICCSetMatOrdering(), PCICCSetReuseOrdering(), PCICCSetLevels()

Level:beginner
Location:src/ksp/pc/impls/icc/icc.c
Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages

### Examples

src/ksp/pc/examples/tutorials/ex2.c.html