:orphan: # PCJACOBI Jacobi (i.e. diagonal scaling preconditioning) ## Options Database Keys - ***-pc_jacobi_type -*** approach for forming the preconditioner - ***-pc_jacobi_abs -*** use the absolute value of the diagonal entry - ***-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/ex1.c
src/dm/impls/stag/tutorials/ex4.c
src/ksp/ksp/tutorials/ex1.c
src/ksp/ksp/tutorials/ex15.c
src/ksp/ksp/tutorials/ex15f.F90
src/ksp/ksp/tutorials/ex1f.F90
src/ksp/ksp/tutorials/ex23.c
src/ksp/ksp/tutorials/ex2f.F90
src/ksp/ksp/tutorials/ex6.c
src/ksp/ksp/tutorials/ex7.c
src/ksp/ksp/tutorials/ex71.c
--- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/ksp/pc/impls/jacobi/jacobi.c) [Index of all PC routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)