Skip to main content
`Ctrl`+`K`

# MatPartitioningApply

Gets a partitioning for the graph represented by a sparse matrix.

## Synopsis

    #include "petscmat.h"
    PetscErrorCode MatPartitioningApply(MatPartitioning matp, IS *partitioning)

Collective

## Input Parameter

- matp - the matrix partitioning object

## Output Parameter

- partitioning - the partitioning. For each local node this tells the MPI rank that that node is assigned to.

## Options Database Keys

- -mat_partitioning_type <type> - set the partitioning package or algorithm to use

- -mat_partitioning_view - display information about the partitioning object

The user can define additional partitionings; see `MatPartitioningRegister()`.

## See Also

Matrices, `Mat`, `MatPartitioning`, `MatPartitioningType`, `MatPartitioningRegister()`, `MatPartitioningCreate()`, `MatPartitioningDestroy()`, `MatPartitioningSetAdjacency()`, `ISPartitioningToNumbering()`, `ISPartitioningCount()`

## Level

beginner

## Location

src/mat/graphops/partition/partition.c

## Examples

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

## Implementations

MatPartitioningApply_Chaco() in src/mat/graphops/partition/impls/chaco/chaco.c
MatPartitioningApply_Hierarchical() in src/mat/graphops/partition/impls/hierarchical/hierarchical.c
MatPartitioningApply_Party() in src/mat/graphops/partition/impls/party/party.c
MatPartitioningApply_Parmetis() in src/mat/graphops/partition/impls/pmetis/pmetis.c
MatPartitioningApply_PTScotch() in src/mat/graphops/partition/impls/scotch/scotch.c

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