:orphan:
# MatSchurComplementGetKSP
Gets the `KSP` object that is used to solve with A00 in the Schur complement matrix S = A11 - A10 ksp(A00,Ap00) A01 
## Synopsis
```
#include "petscksp.h" 
PetscErrorCode MatSchurComplementGetKSP(Mat S, KSP *ksp)
```
Not Collective


## Input Parameter

- ***S -*** matrix obtained with `MatCreateSchurComplement()` (or equivalent) and implementing the action of A11 - A10 ksp(A00,Ap00) A01



## Output Parameter

- ***ksp -*** the linear solver object



## Options Database Key

- ***-fieldsplit_<splitname_0>_XXX sets KSP and PC options for the 0-*** split solver inside the Schur complement used in `PCFIELDSPLIT`; default <splitname_0> is 0.





## See Also
 [](ch_ksp), `Mat`, `MatSchurComplementSetKSP()`, `MatCreateSchurComplement()`, `MatCreateNormal()`, `MatMult()`, `MatCreate()`

## Level
intermediate

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/ksp/ksp/utils/schurm/schurm.c.html#MatSchurComplementGetKSP">src/ksp/ksp/utils/schurm/schurm.c</A>


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


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