# PCICC
Incomplete Cholesky factorization preconditioners. 
## Options Database Keys

- ***-pc_factor_levels <k> -*** number of levels of fill for ICC(k)
- ***-pc_factor_in_place -*** only for ICC(0) with natural ordering, reuses the space of the matrix for
its factorization (overwrites original matrix)
- ***-pc_factor_fill <nfill> -*** expected amount of fill in factored matrix compared to original matrix, nfill > 1
- ***-pc_factor_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 `MATSEQBAIJ` matrices this implements a point block ICC.

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

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


## References

- **** -*** TONY F. CHAN AND HENK A. VAN DER VORST, Review article: APPROXIMATE AND INCOMPLETE FACTORIZATIONS,
Chapter in Parallel Numerical Algorithms, edited by D. Keyes, A. Semah, V. Venkatakrishnan, ICASE/LaRC Interdisciplinary Series in
Science and Engineering, Kluwer.



## See Also
 `PCCreate()`, `PCSetType()`, `PCType`, `PC`, `PCSOR`, `MatOrderingType`, `PCILU`, `PCLU`, `PCCHOLESKY`,
`PCFactorSetZeroPivot()`, `PCFactorSetShiftType()`, `PCFactorSetShiftAmount()`,
`PCFactorSetFill()`, `PCFactorSetMatOrderingType()`, `PCFactorSetReuseOrdering()`,
`PCFactorSetLevels()`

## Level
beginner

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/ksp/pc/impls/factor/icc/icc.c.html#PCICC">src/ksp/pc/impls/factor/icc/icc.c</A>

## Examples
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/ksp/pc/tutorials/ex2.c.html">src/ksp/pc/tutorials/ex2.c.html</A><BR>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/ksp/pc/impls/factor/icc/icc.c)


[Index of all PC routines](index.md)  
[Table of Contents for all manual pages](/docs/manualpages/index.md)  
[Index of all manual pages](/docs/manualpages/singleindex.md)  
