Skip to main content
`Ctrl`+`K`

# MatPartitioning

Object for managing the partitioning of a matrix or graph

## Synopsis

    typedef struct _p_MatPartitioning *MatPartitioning;

## Note

There is also a `PetscPartitioner` object that provides the same functionality. It can utilize the `MatPartitioning` operations via `PetscPartitionerSetType`(p,`PETSCPARTITIONERMATPARTITIONING`)

## Developer Note

It is an extra maintenance and documentation cost to have two objects with the same functionality. `PetscPartitioner` should be removed

## See Also

Matrices, Graph Operations, `Mat`, `MatPartitioningCreate()`, `MatPartitioningType`, `MatColoring`, `MatGetOrdering()`, `MatOrderingType`, `MatCoarsenType`

## Level

beginner

## Location

include/petscmat.h

## Examples

src/mat/tutorials/ex11.c
src/mat/tutorials/ex17f.F90
src/mat/tutorials/ex15.c
src/ksp/ksp/tutorials/ex64.c
src/mat/tutorials/ex15f.F90
src/mat/tutorials/ex17.c
src/mat/tutorials/ex11f.F90

## Implementations

_p_MatPartitioning in include/petsc/private/matimpl.h
MatPartitioning_Chaco in src/mat/graphops/partition/impls/chaco/chaco.c
MatPartitioning_Hierarchical in src/mat/graphops/partition/impls/hierarchical/hierarchical.c
MatPartitioning_Party in src/mat/graphops/partition/impls/party/party.c
MatPartitioning_Parmetis in src/mat/graphops/partition/impls/pmetis/pmetis.c
MatPartitioning_PTScotch in src/mat/graphops/partition/impls/scotch/scotch.c

Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages