:orphan:
# MatCoarsen
Object for managing the coarsening of a graph (symmetric matrix) 
## Synopsis
```
typedef struct _p_MatCoarsen *MatCoarsen;
```



## Note
This is used by the `PCGAMG` to generate coarser representations of an algebraic problem


## See Also
 [](ch_matrices), [](sec_graph), `Mat`, `MatCoarsenCreate()`, `MatCoarsenType`, `MatColoringType`, `MatPartitioningType`, `MatOrderingType`
`MatColoring`, `MatPartitioning`

## Level
advanced

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/include/petscmatcoarsen.h.html#MatCoarsen">include/petscmatcoarsen.h</A>

## Implementations

<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/include/petsc/private/matimpl.h.html#_p_MatCoarsen">_p_MatCoarsen in include/petsc/private/matimpl.h</A><BR>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/include/petscmatcoarsen.h)


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