Skip to main content
`Ctrl`+`K`

# PCCHOLESKY

Uses a direct solver, based on Cholesky factorization, as a preconditioner

## Options Database Keys

- -pc_factor_reuse_ordering - Activate `PCFactorSetReuseOrdering()`

- -pc_factor_mat_solver_type - Actives `PCFactorSetMatSolverType()` to choose the direct solver, like superlu

- -pc_factor_reuse_fill - Activates `PCFactorSetReuseFill()`

- -pc_factor_fill <fill> - Sets the explected fill amount

- -pc_factor_in_place - Activates in-place factorization

- -pc_factor_mat_ordering_type <nd,rcm,…> - Sets ordering routine used to determine the order the rows are used in the factorization to reduce fill and thus be more effective

## Notes

The Cholesky factorization direct solver, `PCCHOLESKY` is only for symmetric positive-definite (SPD) matrices. For such SPD matrices it is more efficient than using the LU factorization direct solver, `PCLU`.

Not all options work for all matrix formats

Usually this will compute an “exact” solution in one iteration and does not need a Krylov method (i.e. you can use -ksp_type preonly, or `KSPSetType`(ksp,`KSPPREONLY`) for the Krylov method

## See Also

KSP: Linear System Solvers, `PCCreate()`, `PCSetType()`, `PCType`, `PC`, `PCILU`, `PCLU`, `PCICC`, `PCFactorSetReuseOrdering()`, `PCFactorSetReuseFill()`, `PCFactorGetMatrix()`, `PCFactorSetFill()`, `PCFactorSetShiftType()`, `PCFactorSetShiftAmount()` `PCFactorSetUseInPlace()`, `PCFactorGetUseInPlace()`, `PCFactorSetMatOrderingType()`, `PCFactorSetReuseOrdering()`

## Level

beginner

## Location

src/ksp/pc/impls/factor/cholesky/cholesky.c

## Examples

src/ksp/ksp/tutorials/ex52.c
src/tao/constrained/tutorials/ex1.c
src/ksp/pc/tutorials/ex4.c

Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages