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[]
Developer Notes: Entries that are negative need not be called collectively by all processes.