:html_theme.sidebar_secondary.remove: true
# Matrix colorings (MatColoring), orderings (MatOrdering), partitionings (MatPartitioning), and coarsening (MatCoarsen)

These tools compute reorderings (`MatOrdering`) (for sparse matrix factorizations), colorings (`MatColoring`)
(for computing Jacobians via finite differences),  partitionings (`MatPartitioning`) (for parallel
decomposition of data), and coarsening (`MatCoarsen`) (for algebraic multigrid methods).


## Manual Pages by Level

### Beginner - Basic usage
```{hlist}
---
columns: 3
---
- [](MATCOARSENHEM.md)
- [](MATCOARSENMIS.md)
- [](MATCOARSENMISK.md)
- [](MATCOLORINGGREEDY.md)
- [](MATCOLORINGID.md)
- [](MATCOLORINGJP.md)
- [](MATCOLORINGLF.md)
- [](MATCOLORINGNATURAL.md)
- [](MATCOLORINGPOWER.md)
- [](MATCOLORINGSL.md)
- [](MATPARTITIONINGCHACO.md)
- [](MATPARTITIONINGHIERARCH.md)
- [](MATPARTITIONINGPARMETIS.md)
- [](MATPARTITIONINGPARTY.md)
- [](MATPARTITIONINGPTSCOTCH.md)
- [](MatColoringApply.md)
- [](MatColoringCreate.md)
- [](MatColoringDestroy.md)
- [](MatColoringGetDistance.md)
- [](MatColoringGetMaxColors.md)
- [](MatColoringSetDistance.md)
- [](MatColoringSetFromOptions.md)
- [](MatColoringSetMaxColors.md)
- [](MatColoringSetType.md)
- [](MatColoringSetWeightType.md)
- [](MatColoringView.md)
- [](MatPartitioningApply.md)
- [](MatPartitioningCreate.md)
- [](MatPartitioningDestroy.md)
- [](MatPartitioningGetUseEdgeWeights.md)
- [](MatPartitioningImprove.md)
- [](MatPartitioningSetAdjacency.md)
- [](MatPartitioningSetFromOptions.md)
- [](MatPartitioningSetPartitionWeights.md)
- [](MatPartitioningSetUseEdgeWeights.md)
- [](MatPartitioningSetVertexWeights.md)
- [](MatPartitioningViewImbalance.md)
- [](PetscPartitionerType.md)
```



### Intermediate - Setting options for algorithms and data structures
```{hlist}
---
columns: 3
---
- [](MatCoarsenViewFromOptions.md)
- [](MatCreateLaplacian.md)
- [](MatGetOrdering.md)
- [](MatPartitioningApplyND.md)
- [](MatPartitioningGetType.md)
- [](MatPartitioningSetNParts.md)
- [](MatPartitioningSetNumberVertexWeights.md)
- [](MatPartitioningSetType.md)
- [](MatPartitioningView.md)
- [](MatPartitioningViewFromOptions.md)
- [](PetscPartitioner.md)
```



### Advanced - Setting more advanced options and customization
```{hlist}
---
columns: 3
---
- [](MatCoarsenApply.md)
- [](MatCoarsenCreate.md)
- [](MatCoarsenDestroy.md)
- [](MatCoarsenGetData.md)
- [](MatCoarsenGetType.md)
- [](MatCoarsenMISKGetDistance.md)
- [](MatCoarsenMISKSetDistance.md)
- [](MatCoarsenSetAdjacency.md)
- [](MatCoarsenSetFromOptions.md)
- [](MatCoarsenSetGreedyOrdering.md)
- [](MatCoarsenSetStrictAggs.md)
- [](MatCoarsenSetType.md)
- [](MatCoarsenView.md)
- [](MatMeshToCellGraph.md)
- [](MatPartitioningChacoGetEigenNumber.md)
- [](MatPartitioningChacoGetEigenSolver.md)
- [](MatPartitioningChacoGetEigenTol.md)
- [](MatPartitioningChacoGetGlobal.md)
- [](MatPartitioningChacoGetLocal.md)
- [](MatPartitioningChacoSetCoarseLevel.md)
- [](MatPartitioningChacoSetEigenNumber.md)
- [](MatPartitioningChacoSetEigenSolver.md)
- [](MatPartitioningChacoSetEigenTol.md)
- [](MatPartitioningChacoSetGlobal.md)
- [](MatPartitioningChacoSetLocal.md)
- [](MatPartitioningPTScotchGetImbalance.md)
- [](MatPartitioningPTScotchGetStrategy.md)
- [](MatPartitioningPTScotchSetImbalance.md)
- [](MatPartitioningPTScotchSetStrategy.md)
- [](MatPartitioningParmetisGetEdgeCut.md)
- [](MatPartitioningParmetisSetCoarseSequential.md)
- [](MatPartitioningParmetisSetRepartition.md)
- [](MatPartitioningPartySetBipart.md)
- [](MatPartitioningPartySetCoarseLevel.md)
- [](MatPartitioningPartySetGlobal.md)
- [](MatPartitioningPartySetLocal.md)
- [](MatPartitioningPartySetMatchOptimization.md)
```



### Developer - Interfaces rarely needed by applications programmers
```{hlist}
---
columns: 3
---
- [](MatCoarsenRegister.md)
- [](MatCoarsenRegisterAll.md)
- [](MatColoringRegister.md)
- [](MatColoringRegisterAll.md)
- [](MatOrderingRegister.md)
- [](MatOrderingRegisterAll.md)
- [](MatPartitioningRegister.md)
- [](MatPartitioningRegisterAll.md)
```



## Single list of manual pages
```{hlist}
---
columns: 3
---
- [](MATCOARSENHEM.md)
- [](MATCOARSENMIS.md)
- [](MATCOARSENMISK.md)
- [](MATCOLORINGGREEDY.md)
- [](MATCOLORINGID.md)
- [](MATCOLORINGJP.md)
- [](MATCOLORINGLF.md)
- [](MATCOLORINGNATURAL.md)
- [](MATCOLORINGPOWER.md)
- [](MATCOLORINGSL.md)
- [](MATPARTITIONINGCHACO.md)
- [](MATPARTITIONINGHIERARCH.md)
- [](MATPARTITIONINGPARMETIS.md)
- [](MATPARTITIONINGPARTY.md)
- [](MATPARTITIONINGPTSCOTCH.md)
- [](MatCoarsenApply.md)
- [](MatCoarsenCreate.md)
- [](MatCoarsenDestroy.md)
- [](MatCoarsenGetData.md)
- [](MatCoarsenGetType.md)
- [](MatCoarsenMISKGetDistance.md)
- [](MatCoarsenMISKSetDistance.md)
- [](MatCoarsenRegister.md)
- [](MatCoarsenRegisterAll.md)
- [](MatCoarsenSetAdjacency.md)
- [](MatCoarsenSetFromOptions.md)
- [](MatCoarsenSetGreedyOrdering.md)
- [](MatCoarsenSetStrictAggs.md)
- [](MatCoarsenSetType.md)
- [](MatCoarsenView.md)
- [](MatCoarsenViewFromOptions.md)
- [](MatColoringApply.md)
- [](MatColoringCreate.md)
- [](MatColoringDestroy.md)
- [](MatColoringGetDistance.md)
- [](MatColoringGetMaxColors.md)
- [](MatColoringRegister.md)
- [](MatColoringRegisterAll.md)
- [](MatColoringSetDistance.md)
- [](MatColoringSetFromOptions.md)
- [](MatColoringSetMaxColors.md)
- [](MatColoringSetType.md)
- [](MatColoringSetWeightType.md)
- [](MatColoringView.md)
- [](MatCreateLaplacian.md)
- [](MatGetOrdering.md)
- [](MatMeshToCellGraph.md)
- [](MatOrderingRegister.md)
- [](MatOrderingRegisterAll.md)
- [](MatPartitioningApply.md)
- [](MatPartitioningApplyND.md)
- [](MatPartitioningChacoGetEigenNumber.md)
- [](MatPartitioningChacoGetEigenSolver.md)
- [](MatPartitioningChacoGetEigenTol.md)
- [](MatPartitioningChacoGetGlobal.md)
- [](MatPartitioningChacoGetLocal.md)
- [](MatPartitioningChacoSetCoarseLevel.md)
- [](MatPartitioningChacoSetEigenNumber.md)
- [](MatPartitioningChacoSetEigenSolver.md)
- [](MatPartitioningChacoSetEigenTol.md)
- [](MatPartitioningChacoSetGlobal.md)
- [](MatPartitioningChacoSetLocal.md)
- [](MatPartitioningCreate.md)
- [](MatPartitioningDestroy.md)
- [](MatPartitioningGetType.md)
- [](MatPartitioningGetUseEdgeWeights.md)
- [](MatPartitioningImprove.md)
- [](MatPartitioningPTScotchGetImbalance.md)
- [](MatPartitioningPTScotchGetStrategy.md)
- [](MatPartitioningPTScotchSetImbalance.md)
- [](MatPartitioningPTScotchSetStrategy.md)
- [](MatPartitioningParmetisGetEdgeCut.md)
- [](MatPartitioningParmetisSetCoarseSequential.md)
- [](MatPartitioningParmetisSetRepartition.md)
- [](MatPartitioningPartySetBipart.md)
- [](MatPartitioningPartySetCoarseLevel.md)
- [](MatPartitioningPartySetGlobal.md)
- [](MatPartitioningPartySetLocal.md)
- [](MatPartitioningPartySetMatchOptimization.md)
- [](MatPartitioningRegister.md)
- [](MatPartitioningRegisterAll.md)
- [](MatPartitioningSetAdjacency.md)
- [](MatPartitioningSetFromOptions.md)
- [](MatPartitioningSetNParts.md)
- [](MatPartitioningSetNumberVertexWeights.md)
- [](MatPartitioningSetPartitionWeights.md)
- [](MatPartitioningSetType.md)
- [](MatPartitioningSetUseEdgeWeights.md)
- [](MatPartitioningSetVertexWeights.md)
- [](MatPartitioningView.md)
- [](MatPartitioningViewFromOptions.md)
- [](MatPartitioningViewImbalance.md)
- [](PetscPartitioner.md)
- [](PetscPartitionerType.md)
```


