petsc-3.12.4 2020-02-04
Report Typos and Errors

# PCSetDiagonalScale

Indicates the left scaling to use to apply an additional left and right scaling as needed by certain time-stepping codes.

### Synopsis

    #include "petscksp.h"
    PetscErrorCode  PCSetDiagonalScale(PC pc,Vec s)

Logically Collective on PC

### Input Parameters

| pc | - the preconditioner context
| s | - scaling vector

### Notes

The system solved via the Krylov method is

              D M A D^{-1} y = D M b  for left preconditioning or

              D A M D^{-1} z = D b for right preconditioning

PCDiagonalScaleLeft() scales a vector by D. PCDiagonalScaleRight() scales a vector by D^{-1}.

### See Also

PCCreate(), PCSetUp(), PCDiagonalScaleLeft(), PCDiagonalScaleRight(), PCGetDiagonalScale()

### Level

intermediate

### Location

src/ksp/pc/interface/precon.c
Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages