Skip to main content
`Ctrl`+`K`

# MatLMVMSymBroydenSetScaleType

Sets the scale type for symmetric Broyden-type updates.

## Synopsis

    #include "petscksp.h"
    PetscErrorCode MatLMVMSymBroydenSetScaleType(Mat B, MatLMVMSymBroydenScaleType stype)

## Input Parameters

- B - the `MATLMVM` matrix

- stype - scale type, see `MatLMVMSymBroydenScaleType`

## Options Database Key

- -mat_lmvm_scale_type (none|scalar|diagonal) - set the scaling type

MatLMVMSymBrdnScaleTypes:

- `MAT_LMVM_SYMBROYDEN_SCALE_NONE` - use whatever initial Hessian is already there (will be the identity if the user does nothing)

- `MAT_LMVM_SYMBROYDEN_SCALE_SCALAR` - use the Shanno scalar as the initial Hessian

- `MAT_LMVM_SYMBROYDEN_SCALE_DIAGONAL` - use a diagonalized BFGS update as the initial Hessian

- `MAT_LMVM_SYMBROYDEN_SCALE_USER` - same as `MAT_LMVM_SYMBROYDEN_NONE`

- `MAT_LMVM_SYMBROYDEN_SCALE_DECIDE` - let PETSc decide

## See Also

KSP: Linear System Solvers, `MATLMVMSYMBROYDEN`, `MatCreateLMVMSymBroyden()`, `MatLMVMSymBroydenScaleType`

## Level

intermediate

## Location

src/ksp/ksp/utils/lmvm/symbrdn/symbrdn.c

Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages