:orphan: # PCEisenstatSetNoDiagonalScaling Causes the Eisenstat preconditioner, `PCEISENSTAT` not to do additional diagonal preconditioning. For matrices with a constant along the diagonal, this may save a small amount of work. ## Synopsis ``` #include "petscpc.h" PetscErrorCode PCEisenstatSetNoDiagonalScaling(PC pc, PetscBool flg) ``` Logically Collective ## Input Parameters - ***pc -*** the preconditioner context - ***flg -*** `PETSC_TRUE` turns off diagonal scaling inside the algorithm ## Options Database Key - ***-pc_eisenstat_no_diagonal_scaling -*** Activates `PCEisenstatSetNoDiagonalScaling()` ## Note If you use the `KSPSetDiagonalScaling()` or -ksp_diagonal_scale option then you will likely want to use this routine since it will save you some unneeded flops. ## See Also `PCEisenstatSetOmega()`, `PCEISENSTAT` ## Level intermediate ## Location src/ksp/pc/impls/eisens/eisen.c ## Implementations PCEisenstatSetNoDiagonalScaling_Eisenstat in src/ksp/pc/impls/eisens/eisen.c
--- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/ksp/pc/impls/eisens/eisen.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)