typedef enum {MAT_OPTION_MIN = -3,
MAT_UNUSED_NONZERO_LOCATION_ERR = -2,
MAT_ROW_ORIENTED = -1,
MAT_SYMMETRIC = 1,
MAT_STRUCTURALLY_SYMMETRIC = 2,
MAT_NEW_DIAGONALS = 3,
MAT_IGNORE_OFF_PROC_ENTRIES = 4,
MAT_USE_HASH_TABLE = 5,
MAT_KEEP_NONZERO_PATTERN = 6,
MAT_IGNORE_ZERO_ENTRIES = 7,
MAT_USE_INODES = 8,
MAT_HERMITIAN = 9,
MAT_SYMMETRY_ETERNAL = 10,
MAT_NEW_NONZERO_LOCATION_ERR = 11,
MAT_IGNORE_LOWER_TRIANGULAR = 12,
MAT_ERROR_LOWER_TRIANGULAR = 13,
MAT_GETROW_UPPERTRIANGULAR = 14,
MAT_SPD = 15,
MAT_NO_OFF_PROC_ZERO_ROWS = 16,
MAT_NO_OFF_PROC_ENTRIES = 17,
MAT_NEW_NONZERO_LOCATIONS = 18,
MAT_NEW_NONZERO_ALLOCATION_ERR = 19,
MAT_SUBSET_OFF_PROC_ENTRIES = 20,
MAT_SUBMAT_SINGLEIS = 21,
MAT_STRUCTURE_ONLY = 22,
MAT_OPTION_MAX = 23} MatOption;
Any additions/changes here MUST also be made in include/petsc/finclude/petscmat.h Any additions/changes here must also be made in src/mat/interface/dlregismat.c in MatOptions[]