:orphan:
# PCDeflationSetSpace
Set the deflation space matrix (or its (Hermitian) transpose).
## Synopsis
```
#include "petscksp.h"
PetscErrorCode PCDeflationSetSpace(PC pc, Mat W, PetscBool transpose)
```
Logically Collective
## Input Parameters
- ***pc -*** the preconditioner context
- ***W -*** deflation matrix
- ***transpose -*** indicates that W is an explicit transpose of the deflation matrix
## Notes
Setting W as a multipliplicative `MATCOMPOSITE` enables use of the multilevel
deflation. If W = W0*W1*W2*...*Wn, W0 is taken as the first deflation space and
the coarse problem (W0'*A*W0)^{-1} is again preconditioned by deflation with
W1 as the deflation matrix. This repeats until the maximum level set by
PCDeflationSetLevels() is reached or there are no more matrices available.
If there are matrices left after reaching the maximum level,
they are merged into a deflation matrix ...*W{n-1}*Wn.
## See Also
`PCDeflationSetLevels()`, `PCDEFLATION`, `PCDeflationSetProjectionNullSpaceMat()`
## Level
intermediate
## Location
src/ksp/pc/impls/deflation/deflation.c
## Implementations
PCDeflationSetSpace_Deflation in src/ksp/pc/impls/deflation/deflation.c
---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/ksp/pc/impls/deflation/deflation.c)
[Index of all PC routines](index.md)
[Table of Contents for all manual pages](/manualpages/index.md)
[Index of all manual pages](/manualpages/singleindex.md)