# PCGetCoarseOperators
Gets coarse operator matrices for all levels (except the finest level) 
## Synopsis
```
#include "petscksp.h" 
PetscErrorCode PCGetCoarseOperators(PC pc, PetscInt *num_levels, Mat *coarseOperators[])
```
Logically Collective


## Input Parameter

- ***pc -*** the precondition context



## Output Parameters

- ***num_levels -*** the number of levels
- ***coarseOperators -*** the coarse operator matrices (size of num_levels-1)





## Developer Note
Why is this here instead of in `PCMG` etc?


## See Also
 `PC`, `PCMG`, `PCMGGetRestriction()`, `PCMGSetInterpolation()`, `PCMGGetRScale()`, `PCMGGetInterpolation()`, `PCGetInterpolations()`

## Level
advanced

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/ksp/pc/interface/precon.c.html#PCGetCoarseOperators">src/ksp/pc/interface/precon.c</A>

## Implementations

<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/ksp/pc/impls/hypre/hypre.c.html#PCGetCoarseOperators_BoomerAMG">PCGetCoarseOperators_BoomerAMG in src/ksp/pc/impls/hypre/hypre.c</A><BR>
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/ksp/pc/impls/mg/mg.c.html#PCGetCoarseOperators_MG">PCGetCoarseOperators_MG in src/ksp/pc/impls/mg/mg.c</A><BR>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/ksp/pc/interface/precon.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)  
