Actual source code: petscmat.h

      1: !
      2: !  Used by petscmatmod.F90 to create Fortran module file
      3: !
      4: #include "petsc/finclude/petscmat.h"

      6:       type, extends(tPetscObject) :: tMat
      7:       end type tMat
      8:       Mat, parameter :: PETSC_NULL_MAT = tMat(0)
      9: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
     10: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_MAT
     11: #endif

     13:       type, extends(tPetscObject) :: tMatNullSpace
     14:       end type tMatNullSpace
     15:       MatNullSpace, parameter :: PETSC_NULL_MAT_NULLSPACE = tMatNullSpace(0)
     16: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
     17: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_MAT_NULLSPACE
     18: #endif

     20:       type, extends(tPetscObject) :: tMatFDColoring
     21:       end type tMatFDColoring
     22:       MatFDColoring, parameter :: PETSC_NULL_MAT_FDCOLORING = tMatFDColoring(0)
     23: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
     24: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_MAT_FDCOLORING
     25: #endif

     27:       type, extends(tPetscObject) :: tMatColoring
     28:       end type tMatColoring
     29:       MatColoring, parameter :: PETSC_NULL_MAT_COLORING = tMatColoring(0)
     30: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
     31: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_MAT_COLORING
     32: #endif

     34:       type, extends(tPetscObject) :: tMatTransposeColoring
     35:       end type tMatTransposeColoring
     36:       MatTransposeColoring, parameter :: PETSC_NULL_MAT_TRANSPOSE_COLORING = tMatTransposeColoring(0)
     37: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
     38: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_MAT_TRANSPOSE_COLORING
     39: #endif

     41:       type, extends(tPetscObject) :: tMatPartitioning
     42:       end type tMatPartitioning
     43:       MatPartitioning, parameter :: PETSC_NULL_MAT_PARTITIONING = tMatPartitioning(0)
     44: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
     45: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_MAT_PARTITIONING
     46: #endif

     48:       type, extends(tPetscObject) :: tMatCoarsen
     49:       end type tMatCoarsen
     50:       MatCoarsen, parameter :: PETSC_NULL_MAT_COARSEN = tMatCoarsen(0)
     51: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
     52: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_MAT_COARSEN
     53: #endif
     54: !
     55: !
     56: !  Flag for matrix assembly
     57: !
     58:       PetscEnum, parameter :: MAT_FLUSH_ASSEMBLY=1
     59:       PetscEnum, parameter :: MAT_FINAL_ASSEMBLY=0
     60: !
     61: !
     62: !
     63:       PetscEnum, parameter :: MAT_FACTOR_NONE=0
     64:       PetscEnum, parameter :: MAT_FACTOR_LU=1
     65:       PetscEnum, parameter :: MAT_FACTOR_CHOLESKY=2
     66:       PetscEnum, parameter :: MAT_FACTOR_ILU=3
     67:       PetscEnum, parameter :: MAT_FACTOR_ICC=4
     68:       PetscEnum, parameter :: MAT_FACTOR_ILUDT=5
     69:       PetscEnum, parameter :: MAT_FACTOR_QR=6
     70: !
     71: ! MatCreateSubMatrixOption
     72: !
     73:       PetscEnum, parameter :: MAT_DO_NOT_GET_VALUES=0
     74:       PetscEnum, parameter :: MAT_GET_VALUES=1
     75: !
     76: !  MatOption; must match those in include/petscmat.h
     77: !
     78:       PetscEnum, parameter :: MAT_OPTION_MIN = -3
     79:       PetscEnum, parameter :: MAT_UNUSED_NONZERO_LOCATION_ERR = -2
     80:       PetscEnum, parameter :: MAT_ROW_ORIENTED = -1
     81:       PetscEnum, parameter :: MAT_SYMMETRIC = 1
     82:       PetscEnum, parameter :: MAT_STRUCTURALLY_SYMMETRIC = 2
     83:       PetscEnum, parameter :: MAT_FORCE_DIAGONAL_ENTRIES = 3
     84:       PetscEnum, parameter :: MAT_IGNORE_OFF_PROC_ENTRIES = 4
     85:       PetscEnum, parameter :: MAT_USE_HASH_TABLE = 5
     86:       PetscEnum, parameter :: MAT_KEEP_NONZERO_PATTERN = 6
     87:       PetscEnum, parameter :: MAT_IGNORE_ZERO_ENTRIES = 7
     88:       PetscEnum, parameter :: MAT_USE_INODES = 8
     89:       PetscEnum, parameter :: MAT_HERMITIAN = 9
     90:       PetscEnum, parameter :: MAT_SYMMETRY_ETERNAL = 10
     91:       PetscEnum, parameter :: MAT_NEW_NONZERO_LOCATION_ERR = 11
     92:       PetscEnum, parameter :: MAT_IGNORE_LOWER_TRIANGULAR = 12
     93:       PetscEnum, parameter :: MAT_ERROR_LOWER_TRIANGULAR = 13
     94:       PetscEnum, parameter :: MAT_GETROW_UPPERTRIANGULAR = 14
     95:       PetscEnum, parameter :: MAT_SPD = 15
     96:       PetscEnum, parameter :: MAT_NO_OFF_PROC_ZERO_ROWS = 16
     97:       PetscEnum, parameter :: MAT_NO_OFF_PROC_ENTRIES = 17
     98:       PetscEnum, parameter :: MAT_NEW_NONZERO_LOCATIONS = 18
     99:       PetscEnum, parameter :: MAT_NEW_NONZERO_ALLOCATION_ERR = 19
    100:       PetscEnum, parameter :: MAT_SUBSET_OFF_PROC_ENTRIES = 20
    101:       PetscEnum, parameter :: MAT_SUBMAT_SINGLEIS = 21
    102:       PetscEnum, parameter :: MAT_STRUCTURE_ONLY = 22
    103:       PetscEnum, parameter :: MAT_SORTED_FULL = 23
    104:       PetscEnum, parameter :: MAT_FORM_EXPLICIT_TRANSPOSE = 24
    105:       PetscEnum, parameter :: MAT_STRUCTURAL_SYMMETRY_ETERNAL = 25
    106:       PetscEnum, parameter :: MAT_SPD_ETERNAL = 26
    107:       PetscEnum, parameter :: MAT_OPTION_MAX = 27
    108: !
    109: !  MatFactorShiftType
    110: !
    111:       PetscEnum, parameter :: MAT_SHIFT_NONE=0
    112:       PetscEnum, parameter :: MAT_SHIFT_NONZERO=1
    113:       PetscEnum, parameter :: MAT_SHIFT_POSITIVE_DEFINITE=2
    114:       PetscEnum, parameter :: MAT_SHIFT_INBLOCKS=3
    115: !
    116: !  MatFactorError
    117: !
    118:       PetscEnum, parameter :: MAT_FACTOR_NOERROR=0
    119:       PetscEnum, parameter :: MAT_FACTOR_STRUCT_ZEROPIVOT=1
    120:       PetscEnum, parameter :: MAT_FACTOR_NUMERIC_ZEROPIVOT=2
    121:       PetscEnum, parameter :: MAT_FACTOR_OUTMEMORY=3
    122:       PetscEnum, parameter :: MAT_FACTOR_OTHER=4
    123: !
    124: !  MatDuplicateOption
    125: !
    126:       PetscEnum, parameter :: MAT_DO_NOT_COPY_VALUES=0
    127:       PetscEnum, parameter :: MAT_COPY_VALUES=1
    128:       PetscEnum, parameter :: MAT_SHARE_NONZERO_PATTERN=2
    129: !
    130: !  Flags for MatCopy, MatAXPY
    131: !
    132:       PetscEnum, parameter :: DIFFERENT_NONZERO_PATTERN = 0
    133:       PetscEnum, parameter :: SUBSET_NONZERO_PATTERN = 1
    134:       PetscEnum, parameter :: SAME_NONZERO_PATTERN = 2
    135:       PetscEnum, parameter :: UNKNOWN_NONZERO_PATTERN = 3

    137: #include "../src/mat/f90-mod/petscmatinfosize.h"

    139:       PetscEnum, parameter :: MAT_INFO_BLOCK_SIZE=1
    140:       PetscEnum, parameter :: MAT_INFO_NZ_ALLOCATED=2
    141:       PetscEnum, parameter :: MAT_INFO_NZ_USED=3
    142:       PetscEnum, parameter :: MAT_INFO_NZ_UNNEEDED=4
    143:       PetscEnum, parameter :: MAT_INFO_MEMORY=5
    144:       PetscEnum, parameter :: MAT_INFO_ASSEMBLIES=6
    145:       PetscEnum, parameter :: MAT_INFO_MALLOCS=7
    146:       PetscEnum, parameter :: MAT_INFO_FILL_RATIO_GIVEN=8
    147:       PetscEnum, parameter :: MAT_INFO_FILL_RATIO_NEEDED=9
    148:       PetscEnum, parameter :: MAT_INFO_FACTOR_MALLOCS=10
    149: !
    150: !  MatReuse
    151: !
    152:       PetscEnum, parameter :: MAT_INITIAL_MATRIX=0
    153:       PetscEnum, parameter :: MAT_REUSE_MATRIX=1
    154:       PetscEnum, parameter :: MAT_IGNORE_MATRIX=2
    155:       PetscEnum, parameter :: MAT_INPLACE_MATRIX=3
    156: !
    157: !  MatInfoType
    158: !
    159:       PetscEnum, parameter :: MAT_LOCAL=1
    160:       PetscEnum, parameter :: MAT_GLOBAL_MAX=2
    161:       PetscEnum, parameter :: MAT_GLOBAL_SUM=3

    163: !
    164: !  MatCompositeType
    165: !
    166:       PetscEnum, parameter :: MAT_COMPOSITE_ADDITIVE = 0
    167:       PetscEnum, parameter :: MAT_COMPOSITE_MULTIPLICATIVE = 1

    169: #include "../src/mat/f90-mod/petscmatfactorinfosize.h"

    171:       PetscEnum, parameter :: MAT_FACTORINFO_DIAGONAL_FILL = 1
    172:       PetscEnum, parameter :: MAT_FACTORINFO_USEDT = 2
    173:       PetscEnum, parameter :: MAT_FACTORINFO_DT = 3
    174:       PetscEnum, parameter :: MAT_FACTORINFO_DTCOL = 4
    175:       PetscEnum, parameter :: MAT_FACTORINFO_DTCOUNT = 5
    176:       PetscEnum, parameter :: MAT_FACTORINFO_FILL = 6
    177:       PetscEnum, parameter :: MAT_FACTORINFO_LEVELS = 7
    178:       PetscEnum, parameter :: MAT_FACTORINFO_PIVOT_IN_BLOCKS = 8
    179:       PetscEnum, parameter :: MAT_FACTORINFO_ZERO_PIVOT = 9
    180:       PetscEnum, parameter :: MAT_FACTORINFO_SHIFT_TYPE = 10
    181:       PetscEnum, parameter :: MAT_FACTORINFO_SHIFT_AMOUNT = 11
    182: !
    183: !  Options for SOR and SSOR
    184: !  MatSorType may be bitwise ORd together, so do not change the numbers
    185: !
    186:       PetscEnum, parameter :: SOR_FORWARD_SWEEP=1
    187:       PetscEnum, parameter :: SOR_BACKWARD_SWEEP=2
    188:       PetscEnum, parameter :: SOR_SYMMETRIC_SWEEP=3
    189:       PetscEnum, parameter :: SOR_LOCAL_FORWARD_SWEEP=4
    190:       PetscEnum, parameter :: SOR_LOCAL_BACKWARD_SWEEP=8
    191:       PetscEnum, parameter :: SOR_LOCAL_SYMMETRIC_SWEEP=12
    192:       PetscEnum, parameter :: SOR_ZERO_INITIAL_GUESS=16
    193:       PetscEnum, parameter :: SOR_EISENSTAT=32
    194:       PetscEnum, parameter :: SOR_APPLY_UPPER=64
    195:       PetscEnum, parameter :: SOR_APPLY_LOWER=128
    196: !
    197: !  MatOperation
    198: !
    199:       PetscEnum, parameter :: MATOP_SET_VALUES=0
    200:       PetscEnum, parameter :: MATOP_GET_ROW=1
    201:       PetscEnum, parameter :: MATOP_RESTORE_ROW=2
    202:       PetscEnum, parameter :: MATOP_MULT=3
    203:       PetscEnum, parameter :: MATOP_MULT_ADD=4
    204:       PetscEnum, parameter :: MATOP_MULT_TRANSPOSE=5
    205:       PetscEnum, parameter :: MATOP_MULT_TRANSPOSE_ADD=6
    206:       PetscEnum, parameter :: MATOP_SOLVE=7
    207:       PetscEnum, parameter :: MATOP_SOLVE_ADD=8
    208:       PetscEnum, parameter :: MATOP_SOLVE_TRANSPOSE=9
    209:       PetscEnum, parameter :: MATOP_SOLVE_TRANSPOSE_ADD=10
    210:       PetscEnum, parameter :: MATOP_LUFACTOR=11
    211:       PetscEnum, parameter :: MATOP_CHOLESKYFACTOR=12
    212:       PetscEnum, parameter :: MATOP_SOR=13
    213:       PetscEnum, parameter :: MATOP_TRANSPOSE=14
    214:       PetscEnum, parameter :: MATOP_GETINFO=15
    215:       PetscEnum, parameter :: MATOP_EQUAL=16
    216:       PetscEnum, parameter :: MATOP_GET_DIAGONAL=17
    217:       PetscEnum, parameter :: MATOP_DIAGONAL_SCALE=18
    218:       PetscEnum, parameter :: MATOP_NORM=19
    219:       PetscEnum, parameter :: MATOP_ASSEMBLY_BEGIN=20
    220:       PetscEnum, parameter :: MATOP_ASSEMBLY_END=21
    221:       PetscEnum, parameter :: MATOP_SET_OPTION=22
    222:       PetscEnum, parameter :: MATOP_ZERO_ENTRIES=23
    223:       PetscEnum, parameter :: MATOP_ZERO_ROWS=24
    224:       PetscEnum, parameter :: MATOP_LUFACTOR_SYMBOLIC=25
    225:       PetscEnum, parameter :: MATOP_LUFACTOR_NUMERIC=26
    226:       PetscEnum, parameter :: MATOP_CHOLESKY_FACTOR_SYMBOLIC=27
    227:       PetscEnum, parameter :: MATOP_CHOLESKY_FACTOR_NUMERIC=28
    228:       PetscEnum, parameter :: MATOP_SETUP=29
    229:       PetscEnum, parameter :: MATOP_ILUFACTOR_SYMBOLIC=30
    230:       PetscEnum, parameter :: MATOP_ICCFACTOR_SYMBOLIC=31
    231:       PetscEnum, parameter :: MATOP_GET_DIAGONAL_BLOCK=32
    232:       PetscEnum, parameter :: MATOP_SET_INF=33
    233:       PetscEnum, parameter :: MATOP_DUPLICATE=34
    234:       PetscEnum, parameter :: MATOP_FORWARD_SOLVE=35
    235:       PetscEnum, parameter :: MATOP_BACKWARD_SOLVE=36
    236:       PetscEnum, parameter :: MATOP_ILUFACTOR=37
    237:       PetscEnum, parameter :: MATOP_ICCFACTOR=38
    238:       PetscEnum, parameter :: MATOP_AXPY=39
    239:       PetscEnum, parameter :: MATOP_CREATE_SUBMATRICES=40
    240:       PetscEnum, parameter :: MATOP_INCREASE_OVERLAP=41
    241:       PetscEnum, parameter :: MATOP_GET_VALUES=42
    242:       PetscEnum, parameter :: MATOP_COPY=43
    243:       PetscEnum, parameter :: MATOP_GET_ROW_MAX=44
    244:       PetscEnum, parameter :: MATOP_SCALE=45
    245:       PetscEnum, parameter :: MATOP_SHIFT=46
    246:       PetscEnum, parameter :: MATOP_DIAGONAL_SET=47
    247:       PetscEnum, parameter :: MATOP_ZERO_ROWS_COLUMNS=48
    248:       PetscEnum, parameter :: MATOP_SET_RANDOM=49
    249:       PetscEnum, parameter :: MATOP_GET_ROW_IJ=50
    250:       PetscEnum, parameter :: MATOP_RESTORE_ROW_IJ=51
    251:       PetscEnum, parameter :: MATOP_GET_COLUMN_IJ=52
    252:       PetscEnum, parameter :: MATOP_RESTORE_COLUMN_IJ=53
    253:       PetscEnum, parameter :: MATOP_FDCOLORING_CREATE=54
    254:       PetscEnum, parameter :: MATOP_COLORING_PATCH=55
    255:       PetscEnum, parameter :: MATOP_SET_UNFACTORED=56
    256:       PetscEnum, parameter :: MATOP_PERMUTE=57
    257:       PetscEnum, parameter :: MATOP_SET_VALUES_BLOCKED=58
    258:       PetscEnum, parameter :: MATOP_CREATE_SUBMATRIX=59
    259:       PetscEnum, parameter :: MATOP_DESTROY=60
    260:       PetscEnum, parameter :: MATOP_VIEW=61
    261:       PetscEnum, parameter :: MATOP_CONVERT_FROM=62
    262:       PetscEnum, parameter :: MATOP_PLACEHOLDER_63=63
    263:       PetscEnum, parameter :: MATOP_MATMAT_MULT_SYMBOLIC=64
    264:       PetscEnum, parameter :: MATOP_MATMAT_MULT_NUMERIC=65
    265:       PetscEnum, parameter :: MATOP_SET_LOCAL_TO_GLOBAL_MAP=66
    266:       PetscEnum, parameter :: MATOP_SET_VALUES_LOCAL=67
    267:       PetscEnum, parameter :: MATOP_ZERO_ROWS_LOCAL=68
    268:       PetscEnum, parameter :: MATOP_GET_ROW_MAX_ABS=69
    269:       PetscEnum, parameter :: MATOP_GET_ROW_MIN_ABS=70
    270:       PetscEnum, parameter :: MATOP_CONVERT=71
    271:       PetscEnum, parameter :: MATOP_HAS_OPERATION=72
    272:       PetscEnum, parameter :: MATOP_PLACEHOLDER_73=73
    273:       PetscEnum, parameter :: MATOP_SET_VALUES_ADIFOR=74
    274:       PetscEnum, parameter :: MATOP_FD_COLORING_APPLY=75
    275:       PetscEnum, parameter :: MATOP_SET_FROM_OPTIONS=76
    276:       PetscEnum, parameter :: MATOP_PLACEHOLDER_77=77
    277:       PetscEnum, parameter :: MATOP_PLACEHOLDER_78=78
    278:       PetscEnum, parameter :: MATOP_FIND_ZERO_DIAGONALS=79
    279:       PetscEnum, parameter :: MATOP_MULT_MULTIPLE=80
    280:       PetscEnum, parameter :: MATOP_SOLVE_MULTIPLE=81
    281:       PetscEnum, parameter :: MATOP_GET_INERTIA=82
    282:       PetscEnum, parameter :: MATOP_LOAD=83
    283:       PetscEnum, parameter :: MATOP_IS_SYMMETRIC=84
    284:       PetscEnum, parameter :: MATOP_IS_HERMITIAN=85
    285:       PetscEnum, parameter :: MATOP_IS_STRUCTURALLY_SYMMETRIC=86
    286:       PetscEnum, parameter :: MATOP_SET_VALUES_BLOCKEDLOCAL=87
    287:       PetscEnum, parameter :: MATOP_CREATE_VECS=88
    288:       PetscEnum, parameter :: MATOP_PLACEHOLDER_89=89
    289:       PetscEnum, parameter :: MATOP_MAT_MULT_SYMBOLIC=90
    290:       PetscEnum, parameter :: MATOP_MAT_MULT_NUMERIC=91
    291:       PetscEnum, parameter :: MATOP_PLACEHOLDER_92=92
    292:       PetscEnum, parameter :: MATOP_PTAP_SYMBOLIC=93
    293:       PetscEnum, parameter :: MATOP_PTAP_NUMERIC=94
    294:       PetscEnum, parameter :: MATOP_PLACEHOLDER_95=95
    295:       PetscEnum, parameter :: MATOP_MAT_TRANSPOSE_MULT_SYMBO=96
    296:       PetscEnum, parameter :: MATOP_MAT_TRANSPOSE_MULT_NUMER=97
    297:       PetscEnum, parameter :: MATOP_BIND_TO_CPU=98
    298:       PetscEnum, parameter :: MATOP_PRODUCTSETFROMOPTIONS=99
    299:       PetscEnum, parameter :: MATOP_PRODUCTSYMBOLIC=100
    300:       PetscEnum, parameter :: MATOP_PRODUCTNUMERIC=101
    301:       PetscEnum, parameter :: MATOP_CONJUGATE=102
    302:       PetscEnum, parameter :: MATOP_VIEW_NATIVE=103
    303:       PetscEnum, parameter :: MATOP_SET_VALUES_ROW=104
    304:       PetscEnum, parameter :: MATOP_REAL_PART=105
    305:       PetscEnum, parameter :: MATOP_IMAGINARY_PART=106
    306:       PetscEnum, parameter :: MATOP_GET_ROW_UPPER_TRIANGULAR=107
    307:       PetscEnum, parameter :: MATOP_RESTORE_ROW_UPPER_TRIANG=108
    308:       PetscEnum, parameter :: MATOP_MAT_SOLVE=109
    309:       PetscEnum, parameter :: MATOP_MAT_SOLVE_TRANSPOSE=110
    310:       PetscEnum, parameter :: MATOP_GET_ROW_MIN=111
    311:       PetscEnum, parameter :: MATOP_GET_COLUMN_VECTOR=112
    312:       PetscEnum, parameter :: MATOP_MISSING_DIAGONAL=113
    313:       PetscEnum, parameter :: MATOP_GET_SEQ_NONZERO_STRUCTUR=114
    314:       PetscEnum, parameter :: MATOP_CREATE=115
    315:       PetscEnum, parameter :: MATOP_GET_GHOSTS=116
    316:       PetscEnum, parameter :: MATOP_GET_LOCAL_SUB_MATRIX=117
    317:       PetscEnum, parameter :: MATOP_RESTORE_LOCALSUB_MATRIX=118
    318:       PetscEnum, parameter :: MATOP_MULT_DIAGONAL_BLOCK=119
    319:       PetscEnum, parameter :: MATOP_HERMITIAN_TRANSPOSE=120
    320:       PetscEnum, parameter :: MATOP_MULT_HERMITIAN_TRANSPOSE=121
    321:       PetscEnum, parameter :: MATOP_MULT_HERMITIAN_TRANS_ADD=122
    322:       PetscEnum, parameter :: MATOP_GET_MULTI_PROC_BLOCK=123
    323:       PetscEnum, parameter :: MATOP_FIND_NONZERO_ROWS=124
    324:       PetscEnum, parameter :: MATOP_GET_COLUMN_NORMS=125
    325:       PetscEnum, parameter :: MATOP_INVERT_BLOCK_DIAGONAL=126
    326:       PetscEnum, parameter :: MATOP_INVERT_VBLOCK_DIAGONAL=127
    327:       PetscEnum, parameter :: MATOP_CREATE_SUB_MATRICES_MPI=128
    328:       PetscEnum, parameter :: MATOP_SET_VALUES_BATCH=129
    329:       PetscEnum, parameter :: MATOP_PLACEHOLDER_130=130
    330:       PetscEnum, parameter :: MATOP_TRANSPOSE_MAT_MULT_SYMBO=131
    331:       PetscEnum, parameter :: MATOP_TRANSPOSE_MAT_MULT_NUMER=132
    332:       PetscEnum, parameter :: MATOP_TRANSPOSE_COLORING_CREAT=133
    333:       PetscEnum, parameter :: MATOP_TRANS_COLORING_APPLY_SPT=134
    334:       PetscEnum, parameter :: MATOP_TRANS_COLORING_APPLY_DEN=135
    335:       PetscEnum, parameter :: MATOP_PLACEHOLDER_136=136
    336:       PetscEnum, parameter :: MATOP_RART_SYMBOLIC=137
    337:       PetscEnum, parameter :: MATOP_RART_NUMERIC=138
    338:       PetscEnum, parameter :: MATOP_SET_BLOCK_SIZES=139
    339:       PetscEnum, parameter :: MATOP_AYPX=140
    340:       PetscEnum, parameter :: MATOP_RESIDUAL=141
    341:       PetscEnum, parameter :: MATOP_FDCOLORING_SETUP=142
    342:       PetscEnum, parameter :: MATOP_FIND_OFFBLOCK_ENTRIES=143
    343:       PetscEnum, parameter :: MATOP_MPICONCATENATESEQ=144
    344:       PetscEnum, parameter :: MATOP_DESTROYSUBMATRICES=145
    345:       PetscEnum, parameter :: MATOP_TRANSPOSE_SOLVE=146
    346:       PetscEnum, parameter :: MATOP_GET_VALUES_LOCAL=147
    347:       PetscEnum, parameter :: MATOP_CREATE_GRAPH=148
    348:       PetscEnum, parameter :: MATOP_TRANSPOSE_SYMBOLIC=150
    349:       PetscEnum, parameter :: MATOP_ELIMINATE_ZEROS=151
    350:       PetscEnum, parameter :: MATOP_GET_ROW_SUM_ABS=152
    351:       PetscEnum, parameter :: MATOP_GET_FACTOR=153
    352:       PetscEnum, parameter :: MATOP_GET_BLOCK_DIAGONAL=154
    353:       PetscEnum, parameter :: MATOP_GET_VBLOCK_DIAGONAL=155
    354: !
    355: ! MatProduct
    356:       PetscEnum, parameter :: MATPRODUCT_UNSPECIFIED=0
    357:       PetscEnum, parameter :: MATPRODUCT_AB=1
    358:       PetscEnum, parameter :: MATPRODUCT_AtB=2
    359:       PetscEnum, parameter :: MATPRODUCT_ABt=3
    360:       PetscEnum, parameter :: MATPRODUCT_PtAP=4
    361:       PetscEnum, parameter :: MATPRODUCT_RARt=5
    362:       PetscEnum, parameter :: MATPRODUCT_ABC=6
    363: !
    364: !
    365:       PetscEnum, parameter :: MATRIX_BINARY_FORMAT_DENSE=-1
    366: !
    367: ! MPChacoGlobalType
    368:       PetscEnum, parameter :: MP_CHACO_MULTILEVEL_KL=0
    369:       PetscEnum, parameter :: MP_CHACO_SPECTRAL=1
    370:       PetscEnum, parameter :: MP_CHACO_LINEAR=2
    371:       PetscEnum, parameter :: MP_CHACO_RANDOM=3
    372:       PetscEnum, parameter :: MP_CHACO_SCATTERED=4
    373: !
    374: ! MPChacoLocalType
    375:       PetscEnum, parameter :: MP_CHACO_KERNIGHAN_LIN=0
    376:       PetscEnum, parameter :: MP_CHACO_NONE=1
    377: !
    378: ! MPChacoEigenType
    379:       PetscEnum, parameter :: MP_CHACO_LANCZOS=0
    380:       PetscEnum, parameter :: MP_CHACO_RQI_SYMMLQ=1
    381: !
    382: ! MPPTScotchStrategyType
    383:       PetscEnum, parameter :: MP_PTSCOTCH_QUALITY = 0
    384:       PetscEnum, parameter :: MP_PTSCOTCH_SPEED = 1
    385:       PetscEnum, parameter :: MP_PTSCOTCH_BALANCE = 2
    386:       PetscEnum, parameter :: MP_PTSCOTCH_SAFETY = 3
    387:       PetscEnum, parameter :: MP_PTSCOTCH_SCALABILITY = 4
    388: !
    389: ! MatSTRUMPACKReordering
    390: #if defined(PETSC_HAVE_STRUMPACK)
    391:       PetscEnum, parameter :: MAT_STRUMPACK_NATURAL = 0
    392:       PetscEnum, parameter :: MAT_STRUMPACK_METIS = 1
    393:       PetscEnum, parameter :: MAT_STRUMPACK_PARMETIS = 2
    394:       PetscEnum, parameter :: MAT_STRUMPACK_SCOTCH = 3
    395:       PetscEnum, parameter :: MAT_STRUMPACK_PTSCOTCH = 4
    396:       PetscEnum, parameter :: MAT_STRUMPACK_RCM = 5
    397:       PetscEnum, parameter :: MAT_STRUMPACK_GEOMETRIC = 6
    398:       PetscEnum, parameter :: MAT_STRUMPACK_AMD = 7
    399:       PetscEnum, parameter :: MAT_STRUMPACK_MMD = 8
    400:       PetscEnum, parameter :: MAT_STRUMPACK_AND = 9
    401:       PetscEnum, parameter :: MAT_STRUMPACK_MLF = 10
    402:       PetscEnum, parameter :: MAT_STRUMPACK_SPECTRAL = 11
    403: !
    404: ! MatSTRUMPACKCompressionType
    405:       PetscEnum, parameter :: MAT_STRUMPACK_COMPRESSION_TYPE_NONE = 0
    406:       PetscEnum, parameter :: MAT_STRUMPACK_COMPRESSION_TYPE_HSS = 1
    407:       PetscEnum, parameter :: MAT_STRUMPACK_COMPRESSION_TYPE_BLR = 2
    408:       PetscEnum, parameter :: MAT_STRUMPACK_COMPRESSION_TYPE_HODLR = 3
    409:       PetscEnum, parameter :: MAT_STRUMPACK_COMPRESSION_TYPE_BLR_HODLR = 4
    410:       PetscEnum, parameter :: MAT_STRUMPACK_COMPRESSION_TYPE_ZFP_BLR_HODLR = 5
    411:       PetscEnum, parameter :: MAT_STRUMPACK_COMPRESSION_TYPE_LOSSLESS = 6
    412:       PetscEnum, parameter :: MAT_STRUMPACK_COMPRESSION_TYPE_LOSSY = 7
    413: #endif

    415: ! PetscScalarPrecision
    416:       PetscEnum, parameter :: PETSC_SCALAR_DOUBLE=0
    417:       PetscEnum, parameter :: PETSC_SCALAR_SINGLE=1
    418:       PetscEnum, parameter :: PETSC_SCALAR_LONG_DOUBLE=2
    419: !
    420: !     CUSPARSE enumerated types
    421: !
    422: #if defined(PETSC_HAVE_CUDA)
    423:       PetscEnum, parameter :: MAT_CUSPARSE_CSR=0
    424:       PetscEnum, parameter :: MAT_CUSPARSE_ELL=1
    425:       PetscEnum, parameter :: MAT_CUSPARSE_HYB=2
    426:       PetscEnum, parameter :: MAT_CUSPARSE_MULT_DIAG=0
    427:       PetscEnum, parameter :: MAT_CUSPARSE_MULT_OFFDIAG=1
    428:       PetscEnum, parameter :: MAT_CUSPARSE_MULT=2
    429:       PetscEnum, parameter :: MAT_CUSPARSE_ALL=3
    430: #endif

    432: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
    433: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FLUSH_ASSEMBLY
    434: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FINAL_ASSEMBLY
    435: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_NONE
    436: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_LU
    437: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_CHOLESKY
    438: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_ILU
    439: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_ICC
    440: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_ILUDT
    441: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_QR
    442: !DEC$ ATTRIBUTES DLLEXPORT::MAT_DO_NOT_GET_VALUES
    443: !DEC$ ATTRIBUTES DLLEXPORT::MAT_GET_VALUES
    444: !DEC$ ATTRIBUTES DLLEXPORT::MAT_OPTION_MIN
    445: !DEC$ ATTRIBUTES DLLEXPORT::MAT_UNUSED_NONZERO_LOCATION_ERR
    446: !DEC$ ATTRIBUTES DLLEXPORT::MAT_ROW_ORIENTED
    447: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SYMMETRIC
    448: !DEC$ ATTRIBUTES DLLEXPORT::MAT_STRUCTURALLY_SYMMETRIC
    449: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FORCE_DIAGONAL_ENTRIES
    450: !DEC$ ATTRIBUTES DLLEXPORT::MAT_IGNORE_OFF_PROC_ENTRIES
    451: !DEC$ ATTRIBUTES DLLEXPORT::MAT_USE_HASH_TABLE
    452: !DEC$ ATTRIBUTES DLLEXPORT::MAT_KEEP_NONZERO_PATTERN
    453: !DEC$ ATTRIBUTES DLLEXPORT::MAT_IGNORE_ZERO_ENTRIES
    454: !DEC$ ATTRIBUTES DLLEXPORT::MAT_USE_INODES
    455: !DEC$ ATTRIBUTES DLLEXPORT::MAT_HERMITIAN
    456: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SYMMETRY_ETERNAL
    457: !DEC$ ATTRIBUTES DLLEXPORT::MAT_NEW_NONZERO_LOCATION_ERR
    458: !DEC$ ATTRIBUTES DLLEXPORT::MAT_IGNORE_LOWER_TRIANGULAR
    459: !DEC$ ATTRIBUTES DLLEXPORT::MAT_ERROR_LOWER_TRIANGULAR
    460: !DEC$ ATTRIBUTES DLLEXPORT::MAT_GETROW_UPPERTRIANGULAR
    461: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SPD
    462: !DEC$ ATTRIBUTES DLLEXPORT::MAT_NO_OFF_PROC_ZERO_ROWS
    463: !DEC$ ATTRIBUTES DLLEXPORT::MAT_NO_OFF_PROC_ENTRIES
    464: !DEC$ ATTRIBUTES DLLEXPORT::MAT_NEW_NONZERO_LOCATIONS
    465: !DEC$ ATTRIBUTES DLLEXPORT::MAT_NEW_NONZERO_ALLOCATION_ERR
    466: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SUBSET_OFF_PROC_ENTRIES
    467: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SUBMAT_SINGLEIS
    468: !DEC$ ATTRIBUTES DLLEXPORT::MAT_STRUCTURE_ONLY
    469: !DEC$ ATTRIBUTES DLLEXPORT::MAT_OPTION_MAX
    470: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SHIFT_NONE
    471: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SHIFT_NONZERO
    472: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SHIFT_POSITIVE_DEFINITE
    473: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SHIFT_INBLOCKS
    474: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_NOERROR
    475: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_STRUCT_ZEROPIVOT
    476: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_NUMERIC_ZEROPIVOT
    477: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_OUTMEMORY
    478: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_OTHER
    479: !DEC$ ATTRIBUTES DLLEXPORT::MAT_DO_NOT_COPY_VALUES
    480: !DEC$ ATTRIBUTES DLLEXPORT::MAT_COPY_VALUES
    481: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SHARE_NONZERO_PATTERN
    482: !DEC$ ATTRIBUTES DLLEXPORT::DIFFERENT_NONZERO_PATTERN
    483: !DEC$ ATTRIBUTES DLLEXPORT::SUBSET_NONZERO_PATTERN
    484: !DEC$ ATTRIBUTES DLLEXPORT::SAME_NONZERO_PATTERN
    485: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_BLOCK_SIZE
    486: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_NZ_ALLOCATED
    487: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_NZ_USED
    488: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_NZ_UNNEEDED
    489: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_MEMORY
    490: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_ASSEMBLIES
    491: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_MALLOCS
    492: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_FILL_RATIO_GIVEN
    493: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_FILL_RATIO_NEEDED
    494: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_FACTOR_MALLOCS
    495: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INITIAL_MATRIX
    496: !DEC$ ATTRIBUTES DLLEXPORT::MAT_REUSE_MATRIX
    497: !DEC$ ATTRIBUTES DLLEXPORT::MAT_IGNORE_MATRIX
    498: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INPLACE_MATRIX
    499: !DEC$ ATTRIBUTES DLLEXPORT::MAT_LOCAL
    500: !DEC$ ATTRIBUTES DLLEXPORT::MAT_GLOBAL_MAX
    501: !DEC$ ATTRIBUTES DLLEXPORT::MAT_GLOBAL_SUM
    502: !DEC$ ATTRIBUTES DLLEXPORT::MAT_COMPOSITE_ADDITIVE
    503: !DEC$ ATTRIBUTES DLLEXPORT::MAT_COMPOSITE_MULTIPLICATIVE
    504: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_DIAGONAL_FILL
    505: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_USEDT
    506: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_DT
    507: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_DTCOL
    508: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_DTCOUNT
    509: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_FILL
    510: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_LEVELS
    511: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_PIVOT_IN_BLOCKS
    512: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_ZERO_PIVOT
    513: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_SHIFT_TYPE
    514: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_SHIFT_AMOUNT
    515: !DEC$ ATTRIBUTES DLLEXPORT::SOR_FORWARD_SWEEP
    516: !DEC$ ATTRIBUTES DLLEXPORT::SOR_BACKWARD_SWEEP
    517: !DEC$ ATTRIBUTES DLLEXPORT::SOR_SYMMETRIC_SWEEP
    518: !DEC$ ATTRIBUTES DLLEXPORT::SOR_LOCAL_FORWARD_SWEEP
    519: !DEC$ ATTRIBUTES DLLEXPORT::SOR_LOCAL_BACKWARD_SWEEP
    520: !DEC$ ATTRIBUTES DLLEXPORT::SOR_LOCAL_SYMMETRIC_SWEEP
    521: !DEC$ ATTRIBUTES DLLEXPORT::SOR_ZERO_INITIAL_GUESS
    522: !DEC$ ATTRIBUTES DLLEXPORT::SOR_EISENSTAT
    523: !DEC$ ATTRIBUTES DLLEXPORT::SOR_APPLY_UPPER
    524: !DEC$ ATTRIBUTES DLLEXPORT::SOR_APPLY_LOWER
    525: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_VALUES
    526: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_ROWMATOP_RESTORE_ROW
    527: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT
    528: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_ADD
    529: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_TRANSPOSE
    530: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_TRANSPOSE_ADD
    531: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SOLVE
    532: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SOLVE_ADD
    533: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SOLVE_TRANSPOSE
    534: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SOLVE_TRANSPOSE_ADD
    535: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_LUFACTOR
    536: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CHOLESKYFACTOR
    537: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SOR
    538: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANSPOSE
    539: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GETINFO
    540: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_EQUAL
    541: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_DIAGONAL
    542: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_DIAGONAL_SCALE
    543: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_NORM
    544: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ASSEMBLY_BEGIN
    545: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ASSEMBLY_END
    546: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_OPTION
    547: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ZERO_ENTRIES
    548: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ZERO_ROWS
    549: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_LUFACTOR_SYMBOLIC
    550: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_LUFACTOR_NUMERIC
    551: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CHOLESKY_FACTOR_SYMBOLIC
    552: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CHOLESKY_FACTOR_NUMERIC
    553: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SETUP_PREALLOCATION
    554: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ILUFACTOR_SYMBOLIC
    555: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ICCFACTOR_SYMBOLIC
    556: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_DIAGONAL_BLOCK
    557: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_DUPLICATE
    558: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_FORWARD_SOLVE
    559: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_BACKWARD_SOLVE
    560: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ILUFACTOR
    561: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ICCFACTOR
    562: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_AXPY
    563: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CREATE_SUBMATRICES
    564: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_INCREASE_OVERLAP
    565: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_VALUES
    566: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_COPY
    567: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_ROW_MAX
    568: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SCALE
    569: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SHIFT
    570: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_DIAGONAL_SET
    571: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ZERO_ROWS_COLUMNS
    572: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_RANDOM
    573: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_ROW_IJ
    574: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RESTORE_ROW_IJ
    575: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_COLUMN_IJ
    576: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RESTORE_COLUMN_IJ
    577: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_FDCOLORING_CREATE
    578: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_COLORING_PATCH
    579: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_UNFACTORED
    580: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_PERMUTE
    581: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_VALUES_BLOCKED
    582: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CREATE_SUBMATRIX
    583: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_DESTROY
    584: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_VIEW
    585: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CONVERT_FROM
    586: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MATMAT_MULT
    587: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MATMAT_MULT_SYMBOLIC
    588: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MATMAT_MULT_NUMERIC
    589: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_LOCAL_TO_GLOBAL_MAP
    590: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_VALUES_LOCAL
    591: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ZERO_ROWS_LOCAL
    592: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_ROW_MAX_ABS
    593: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_ROW_MIN_ABS
    594: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CONVERT
    595: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_COLORING
    596: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_VALUES_ADIFOR
    597: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_FD_COLORING_APPLY
    598: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_FROM_OPTIONS
    599: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_CONSTRAINED
    600: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_TRANSPOSE_CONSTRAIN
    601: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_FIND_ZERO_DIAGONALS
    602: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_MULTIPLE
    603: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SOLVE_MULTIPLE
    604: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_INERTIA
    605: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_LOAD
    606: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_IS_SYMMETRIC
    607: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_IS_HERMITIAN
    608: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_IS_STRUCTURALLY_SYMMETRIC
    609: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_VALUES_BLOCKEDLOCAL
    610: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CREATE_VECS
    611: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_MULT
    612: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_MULT_SYMBOLIC
    613: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_MULT_NUMERIC
    614: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_PTAP
    615: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_PTAP_SYMBOLIC
    616: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_PTAP_NUMERIC
    617: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_TRANSPOSE_MULT
    618: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_TRANSPOSE_MULT_SYMBO
    619: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_TRANSPOSE_MULT_NUMER
    620: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CONJUGATE
    621: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_VALUES_ROW
    622: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_REAL_PART
    623: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_IMAGINARY_PART
    624: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_ROW_UPPER_TRIANGULAR
    625: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RESTORE_ROW_UPPER_TRIANG
    626: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_SOLVE
    627: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_SOLVE_TRANSPOSE
    628: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_ROW_MIN
    629: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_COLUMN_VECTOR
    630: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MISSING_DIAGONAL
    631: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_SEQ_NONZERO_STRUCTUR
    632: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CREATE
    633: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_GHOSTS
    634: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_LOCAL_SUB_MATRIX
    635: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RESTORE_LOCALSUB_MATRIX
    636: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_DIAGONAL_BLOCK
    637: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_HERMITIAN_TRANSPOSE
    638: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_HERMITIAN_TRANSPOSE
    639: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_HERMITIAN_TRANS_ADD
    640: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_MULTI_PROC_BLOCK
    641: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_FIND_NONZERO_ROWS
    642: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_COLUMN_NORMS
    643: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_INVERT_BLOCK_DIAGONAL
    644: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CREATE_SUB_MATRICES_MPI
    645: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_VALUES_BATCH
    646: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANSPOSE_MAT_MULT
    647: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANSPOSE_MAT_MULT_SYMBO
    648: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANSPOSE_MAT_MULT_NUMER
    649: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANSPOSE_COLORING_CREAT
    650: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANS_COLORING_APPLY_SPT
    651: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANS_COLORING_APPLY_DEN
    652: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RART
    653: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RART_SYMBOLIC
    654: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RART_NUMERIC
    655: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_BLOCK_SIZES
    656: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_AYPX
    657: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RESIDUAL
    658: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_FDCOLORING_SETUP
    659: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MPICONCATENATESEQ
    660: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_DESTROYSUBMATRICES
    661: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANSPOSE_SOLVE
    662: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_VALUES_LOCAL
    663: !DEC$ ATTRIBUTES DLLEXPORT::MATPRODUCT_UNSPECIFIED
    664: !DEC$ ATTRIBUTES DLLEXPORT::MATPRODUCT_AB
    665: !DEC$ ATTRIBUTES DLLEXPORT::MATPRODUCT_AtB
    666: !DEC$ ATTRIBUTES DLLEXPORT::MATPRODUCT_ABt
    667: !DEC$ ATTRIBUTES DLLEXPORT::MATPRODUCT_PtAP
    668: !DEC$ ATTRIBUTES DLLEXPORT::MATPRODUCT_RARt
    669: !DEC$ ATTRIBUTES DLLEXPORT::MATPRODUCT_ABC
    670: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_MULTILEVEL_KL
    671: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_SPECTRAL
    672: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_LINEAR
    673: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_RANDOM
    674: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_SCATTERED
    675: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_KERNIGHAN_LIN
    676: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_NONE
    677: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_LANCZOS
    678: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_RQI_SYMMLQ
    679: !DEC$ ATTRIBUTES DLLEXPORT::MP_PTSCOTCH_QUALITY
    680: !DEC$ ATTRIBUTES DLLEXPORT::MP_PTSCOTCH_SPEED
    681: !DEC$ ATTRIBUTES DLLEXPORT::MP_PTSCOTCH_BALANCE
    682: !DEC$ ATTRIBUTES DLLEXPORT::MP_PTSCOTCH_SAFETY
    683: !DEC$ ATTRIBUTES DLLEXPORT::MP_PTSCOTCH_SCALABILITY
    684: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_SCALAR_DOUBLE
    685: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_SCALAR_SINGLE
    686: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_SCALAR_LONG_DOUBLE
    687:   #if defined(PETSC_HAVE_CUDA)
    688: !DEC$ ATTRIBUTES DLLEXPORT::MAT_CUSPARSE_CSR
    689: !DEC$ ATTRIBUTES DLLEXPORT::MAT_CUSPARSE_ELL
    690: !DEC$ ATTRIBUTES DLLEXPORT::MAT_CUSPARSE_HYB
    691: !DEC$ ATTRIBUTES DLLEXPORT::
    692: !DEC$ ATTRIBUTES DLLEXPORT::MAT_CUSPARSE_MULT_DIAG
    693: !DEC$ ATTRIBUTES DLLEXPORT::MAT_CUSPARSE_MULT_OFFDIAG
    694: !DEC$ ATTRIBUTES DLLEXPORT::MAT_CUSPARSE_MULT
    695: !DEC$ ATTRIBUTES DLLEXPORT::MAT_CUSPARSE_ALL
    696:   #endif
    697: #endif