PCCHOLESKY#

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

Options Database Keys#

  • -pc_factor_reuse_ordering (true|false) - Activate PCFactorSetReuseOrdering()

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

  • -pc_factor_reuse_fill (true|false) - Activates PCFactorSetReuseFill()

  • -pc_factor_fill fill - Sets the explected fill amount

  • -pc_factor_in_place (true|false) - Activates in-place factorization

  • -pc_factor_mat_ordering_type type - Sets ordering routine used to determine the order the rows are used in the factorization to reduce fill, see MatOrderingType

  • -mat_solvertype_optionname - options for a specific solver package, for example -mat_mumps_cntl_1

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

The options prefix of the factored matrix is set to be the same as the PC options prefix.

See Also#

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

Level#

beginner

Location#

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

Examples#

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


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