PCJACOBI#

Jacobi (i.e. diagonal scaling preconditioning)

Options Database Keys#

  • -pc_jacobi_type <diagonal,rowl1,rowmax,rowsum> - approach for forming the preconditioner

  • -pc_jacobi_abs - use the absolute value of the diagonal entry

  • -pc_jacobi_rowl1_scale - scaling of off-diagonal terms

  • -pc_jacobi_fixdiag - fix for zero diagonal terms by placing 1.0 in those locations

Notes#

By using KSPSetPCSide(ksp,PC_SYMMETRIC) or -ksp_pc_side symmetric can scale each side of the matrix by the square root of the diagonal entries.

Zero entries along the diagonal are replaced with the value 1.0

See PCPBJACOBI for fixed-size point block, PCVPBJACOBI for variable-sized point block, and PCBJACOBI for large size blocks

See Also#

PCCreate(), PCSetType(), PCType, PC, PCJacobiSetType(), PCJacobiSetUseAbs(), PCJacobiGetUseAbs(), PCASM, PCJacobiSetFixDiagonal(), PCJacobiGetFixDiagonal() PCJacobiSetType(), PCJacobiSetUseAbs(), PCJacobiGetUseAbs(), PCPBJACOBI, PCBJACOBI, PCVPBJACOBI

Level#

beginner

Location#

src/ksp/pc/impls/jacobi/jacobi.c

Examples#

src/dm/impls/stag/tutorials/ex4.c
src/ksp/ksp/tutorials/ex7.c
src/ksp/ksp/tutorials/ex15.c
src/ksp/ksp/tutorials/ex23.c
src/ksp/ksp/tutorials/ex1.c
src/ksp/ksp/tutorials/ex71.c
src/dm/impls/stag/tutorials/ex1.c
src/ksp/ksp/tutorials/ex6.c


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