# PCFactorSetShiftPd

specify whether to use Manteuffel shifting. If a matrix factorisation breaks down because of nonpositive pivots, adding sufficient identity to the diagonal will remedy this. Setting this causes a bisection method to find the minimum shift that will lead to a well-defined matrix factor.

### Synopsis

    #include "petscpc.h"
    PetscErrorCode PETSCKSP_DLLEXPORT PCFactorSetShiftPd(PC pc,PetscTruth shift)

Collective on PC

### Input parameters

| pc | - the preconditioner context
| shifting | - PETSC_TRUE to set shift else PETSC_FALSE

### Options Database Key

-pc_factor_shift_positive_definite [PETSC_TRUE/PETSC_FALSE] -Activate/Deactivate PCFactorSetShiftPd(); the value is optional with PETSC_TRUE being the default

### Keywords

PC, indefinite, factorization

### See Also

PCFactorSetZeroPivot(), PCFactorSetShiftNonzero()

Level:intermediate
Location:src/ksp/pc/impls/factor/factor.c
Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages