#include "petscksp.h" PetscErrorCode PCDiagonalScaleLeft(PC pc,Vec in,Vec out)
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