petsc-3.14.5 2021-03-03
Report Typos and Errors

# KSPRichardsonSetSelfScale

Sets Richardson to automatically determine optimal scaling at each iteration to minimize the 2-norm of the preconditioned residual

### Synopsis

    #include "petscksp.h"
    PetscErrorCode  KSPRichardsonSetSelfScale(KSP ksp,PetscBool scale)

Logically Collective on ksp

### Input Parameters

| ksp | - the iterative context
| scale | - PETSC_TRUE or the default of PETSC_FALSE

### Options Database Keys

| -ksp_richardson_self_scale | - Use self-scaling

### Notes

Requires two extra work vectors. Uses an extra VecAXPY() and VecDotNorm2() per iteration.

### Developer Notes

Could also minimize the 2-norm of the true residual with one less work vector

.seealso: KSPRICHARDSON, KSPRichardsonSetScale()

### Level

intermediate

### Location

src/ksp/ksp/impls/rich/richscale.c

### Implementations

KSPRichardsonSetSelfScale_Richardson in src/ksp/ksp/impls/rich/rich.c
Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages