Skip to main content
`Ctrl`+`K`

# MatOrderingRegister

Adds a new sparse matrix ordering to the matrix package.

## Synopsis

    #include "petscmat.h"
    PetscErrorCode MatOrderingRegister(const char sname[], PetscErrorCode (*function)(Mat, MatOrderingType, IS *, IS *))

Not Collective, No Fortran Support

## Input Parameters

- sname - name of ordering (for example `MATORDERINGND`)

- function - function pointer that creates the ordering

## Example Usage

       MatOrderingRegister("my_order", MyOrder);

Then, your partitioner can be chosen with the procedural interface via `MatOrderingSetType(part, "my_order)` or at runtime via the option `-pc_factor_mat_ordering_type my_order`

## See Also

`Mat`, `MatOrderingType`, `MatOrderingRegisterAll()`, `MatGetOrdering()`

## Level

developer

## Location

src/mat/graphops/order/sorder.c

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