# PCFieldSplitSetGKBTol
Sets the solver tolerance for the generalized Golub-Kahan bidiagonalization preconditioner in `PCFIELDSPLIT` 
## Synopsis
```
#include "petscpc.h" 
PetscErrorCode PCFieldSplitSetGKBTol(PC pc, PetscReal tolerance)
```
Collective


## Input Parameters

- ***pc        -*** the preconditioner context
- ***tolerance -*** the solver tolerance



## Options Database Key

- ***-pc_fieldsplit_gkb_tol -*** default is 1e-5





## Note
The generalized GKB algorithm uses a lower bound estimate of the error in energy norm as stopping criterion.
It stops once the lower bound estimate undershoots the required solver tolerance. Although the actual error might be bigger than
this estimate, the stopping criterion is satisfactory in practical cases [A13].


## References
[Ar13] Generalized Golub-Kahan bidiagonalization and stopping criteria, SIAM J. Matrix Anal. Appl., Vol. 34, No. 2, pp. 571-592, 2013.


## See Also
 [](sec_block_matrices), `PC`, `PCFIELDSPLIT`, `PCFieldSplitSetGKBDelay()`, `PCFieldSplitSetGKBNu()`, `PCFieldSplitSetGKBMaxit()`

## Level
intermediate

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/ksp/pc/impls/fieldsplit/fieldsplit.c.html#PCFieldSplitSetGKBTol">src/ksp/pc/impls/fieldsplit/fieldsplit.c</A>

## Implementations

<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/ksp/pc/impls/fieldsplit/fieldsplit.c.html#PCFieldSplitSetGKBTol_FieldSplit">PCFieldSplitSetGKBTol_FieldSplit in src/ksp/pc/impls/fieldsplit/fieldsplit.c</A><BR>


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


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