# 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_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
| -pc_factor_shift_nonzero <shift> | - Sets shift amount or PETSC_DECIDE for the default
| -pc_factor_shift_positive_definite [PETSC_TRUE/PETSC_FALSE] | - Activate/Deactivate PCFactorSetShiftPd(); the value is optional with PETSC_TRUE being the default

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,
PCFactorSetZeroPivot(), PCFactorSetShiftNonzero(), PCFactorSetShiftPd(), PCICCSetFill(), PCICCSetMatOrdering(), PCICCSetReuseOrdering(), PCICCSetLevels(),PCFactorSetShiftNonzero(),PCFactorSetShiftPd(),

Level:beginner
Location:src/ksp/pc/impls/factor/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