# KSPBCGSLSetUsePseudoinverse
Use pseudoinverse (via SVD) to solve polynomial part of update in `KSPCBGSL` solver 
## Synopsis
```
#include "petscksp.h" 
PetscErrorCode KSPBCGSLSetUsePseudoinverse(KSP ksp, PetscBool use_pinv)
```
Logically Collective


## Input Parameters

- ***ksp -*** iterative context of type `KSPCBGSL`
- ***use_pinv -*** set to PETSC_TRUE when using pseudoinverse



## Options Database Key

- ***-ksp_bcgsl_pinv -*** use pseudoinverse





## See Also
 [](chapter_ksp), `KSPBCGSLSetEll()`, `KSP`, `KSPCBGSL`, `KSPBCGSLSetPol()`, `KSPBCGSLSetXRes()`

## Level
intermediate

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/ksp/ksp/impls/bcgsl/bcgsl.c.html#KSPBCGSLSetUsePseudoinverse">src/ksp/ksp/impls/bcgsl/bcgsl.c</A>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/ksp/ksp/impls/bcgsl/bcgsl.c)


[Index of all KSP routines](index.md)  
[Table of Contents for all manual pages](/docs/manualpages/index.md)  
[Index of all manual pages](/docs/manualpages/singleindex.md)  
