#include "petscmat.h" PetscErrorCode MatGetOrdering(Mat mat,MatOrderingType type,IS *rperm,IS *cperm)Collective on Mat
mat | - the matrix | |
type | - type of reordering, one of the following: |
MATORDERINGNATURAL_OR_ND - Nested dissection unless matrix is SBAIJ then it is natural
MATORDERINGNATURAL - Natural
MATORDERINGND - Nested Dissection
MATORDERING1WD - One-way Dissection
MATORDERINGRCM - Reverse Cuthill-McKee
MATORDERINGQMD - Quotient Minimum Degree
rperm | - row permutation indices | |
cperm | - column permutation indices |
-mat_view_ordering draw | - plots matrix nonzero structure in new ordering | |
-pc_factor_mat_ordering_type <nd,natural,..> | - ordering to use with PCs based on factorization, LU, ILU, Cholesky, ICC |
The user can define additional orderings; see MatOrderingRegister().
These are generally only implemented for sequential sparse matrices.
The external packages that PETSc can use for direct factorization such as SuperLU do not accept orderings provided by this call.
fill, reordering, natural, Nested Dissection, One-way Dissection, Cholesky, Reverse Cuthill-McKee, Quotient Minimum Degree