Skip to main content
`Ctrl`+`K`

# MatCoarsenRegister

Adds a new sparse matrix coarsening algorithm to the matrix package.

## Synopsis

    #include "petscmat.h"
    PetscErrorCode MatCoarsenRegister(const char sname[], PetscErrorCode (*function)(MatCoarsen))

Logically Collective, No Fortran Support

## Input Parameters

- sname - name of coarsen (for example `MATCOARSENMIS`)

- function - function pointer that creates the coarsen type

## Example Usage

       MatCoarsenRegister("my_agg", MyAggCreate);

Then, your aggregator can be chosen with the procedural interface via `MatCoarsenSetType(agg, "my_agg")` or at runtime via the option `-mat_coarsen_type my_agg`

## See Also

`MatCoarsen`, `MatCoarsenType`, `MatCoarsenSetType()`, `MatCoarsenCreate()`, `MatCoarsenRegisterDestroy()`, `MatCoarsenRegisterAll()`

## Level

developer

## Location

src/mat/graphops/coarsen/interface/coarsen.c

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