PCJACOBI — PETSc 3.21.4 documentation

Skip to main content
`Ctrl`+`K`

# 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/ksp/ksp/tutorials/ex15.c
src/ksp/ksp/tutorials/ex6.c
src/ksp/ksp/tutorials/ex23.c
src/dm/impls/stag/tutorials/ex1.c
src/ksp/ksp/tutorials/ex7.c
src/dm/impls/stag/tutorials/ex4.c
src/ksp/ksp/tutorials/ex71.c
src/ksp/ksp/tutorials/ex1.c

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