petsc-3.10.5 2019-03-28
Report Typos and Errors

# PCDiagonalScaleLeft

Scales a vector by the left scaling as needed by certain time-stepping codes.

### Synopsis

    #include "petscksp.h"
    PetscErrorCode  PCDiagonalScaleLeft(PC pc,Vec in,Vec out)

Logically Collective on PC

### Input Parameters

| pc | - the preconditioner context
| in | - input vector + out - scaled vector (maybe the same as in)

### 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}.

If diagonal scaling is turned off and in is not out then in is copied to out

### Keywords

PC

### See Also

PCCreate(), PCSetUp(), PCDiagonalScaleSet(), PCDiagonalScaleRight(), PCDiagonalScale()

### 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