PCEISENSTAT — PETSc 3.24.5 documentation

Skip to main content
`Ctrl`+`K`

# PCEISENSTAT

An implementation of SSOR (symmetric successive over relaxation, symmetric Gauss-Seidel) preconditioning that incorporates Eisenstat’s trick to reduce the amount of computation needed.

## Options Database Keys

- -pc_eisenstat_omega - Sets omega

- -pc_eisenstat_no_diagonal_scaling - Activates `PCEisenstatSetNoDiagonalScaling()`

## Notes

Only implemented for the `MATAIJ` matrix format.

Not a true parallel SOR, in parallel this implementation corresponds to block Jacobi with SOR on each block.

## Developer Note

Since this algorithm runs the Krylov method on a transformed linear system the implementation provides `PCPreSolve()` and `PCPostSolve()` routines that `KSP` uses to set up the transformed linear system.

## See Also

KSP: Linear System Solvers, `PCCreate()`, `PCSetType()`, `PCType`, `PC`, `PCEisenstatGetOmega()`, `PCEisenstatSetNoDiagonalScaling()`, `PCEisenstatSetOmega()`, `PCSOR`

## Level

beginner

## Location

src/ksp/pc/impls/eisens/eisen.c

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