Skip to main content
`Ctrl`+`K`

# PCFactorSetMatOrderingType

Sets the ordering routine (to reduce fill) to be used in the `PCLU`, `PCCHOLESKY`, `PCILU`, or `PCICC` preconditioners

## Synopsis

    #include "petscpc.h"
    PetscErrorCode PCFactorSetMatOrderingType(PC pc, MatOrderingType ordering)

Logically Collective

## Input Parameters

- pc - the preconditioner context

- ordering - the matrix ordering name, for example, `MATORDERINGND` or `MATORDERINGRCM`

## Options Database Key

- -pc_factor_mat_ordering_type <nd,rcm,…,external> - Sets ordering routine

## Notes

Nested dissection is used by default for some of PETSc’s sparse matrix formats

For `PCCHOLESKY` and `PCICC` and the `MATSBAIJ` format the only reordering available is natural since only the upper half of the matrix is stored and reordering this matrix is very expensive.

You can use a `MATSEQAIJ` matrix with Cholesky and ICC and use any ordering.

`MATORDERINGEXTERNAL` means PETSc will not compute an ordering and the package will use its own ordering, usable with `MATSOLVERCHOLMOD`, `MATSOLVERUMFPACK`, and others.

## See Also

KSP: Linear System Solvers, `PCLU`, `PCCHOLESKY`, `PCILU`, `PCICC`, `MatOrderingType`, `MATORDERINGEXTERNAL`, `MATORDERINGND`, `MATORDERINGRCM`

## Level

intermediate

## Location

src/ksp/pc/impls/factor/factor.c

## Implementations

PCFactorSetMatOrderingType_Factor() in src/ksp/pc/impls/factor/factimpl.c

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