Actual source code: petscmat.h
petsc-3.13.6 2020-09-29
Report Typos and Errors

      1: !
      2: !
      3: !  Include file for Fortran use of the Mat package in PETSc
      4: !
      5: #include "petsc/finclude/petscmat.h"

      7:       type tMat
      8:         sequence
      9:         PetscFortranAddr:: v PETSC_FORTRAN_TYPE_INITIALIZE
     10:       end type tMat
     11:       type tMatNullSpace
     12:         sequence
     13:         PetscFortranAddr:: v PETSC_FORTRAN_TYPE_INITIALIZE
     14:       end type tMatNullSpace
     15:       type tMatFDColoring
     16:         sequence
     17:         PetscFortranAddr:: v PETSC_FORTRAN_TYPE_INITIALIZE
     18:       end type tMatFDColoring

     20:       Mat, parameter :: PETSC_NULL_MAT = tMat(0)
     21:       MatFDColoring, parameter :: PETSC_NULL_MATFDCOLORING = tMatFDColoring(0)
     22:       MatNullSpace, parameter :: PETSC_NULL_MATNULLSPACE = tMatNullSpace(0)
     23: !
     24: !  Flag for matrix assembly
     25: !
     26:       PetscEnum, parameter :: MAT_FLUSH_ASSEMBLY=1
     27:       PetscEnum, parameter :: MAT_FINAL_ASSEMBLY=0
     28: !
     29: !
     30: !
     31:       PetscEnum, parameter :: MAT_FACTOR_NONE=0
     32:       PetscEnum, parameter :: MAT_FACTOR_LU=1
     33:       PetscEnum, parameter :: MAT_FACTOR_CHOLESKY=2
     34:       PetscEnum, parameter :: MAT_FACTOR_ILU=3
     35:       PetscEnum, parameter :: MAT_FACTOR_ICC=4
     36: !
     37: ! MatCreateSubMatrixOption
     38: !
     39:       PetscEnum, parameter :: MAT_DO_NOT_GET_VALUES=0
     40:       PetscEnum, parameter :: MAT_GET_VALUES=1
     41: !
     42: !  MatOption; must match those in include/petscmat.h
     43: !
     44:       PetscEnum, parameter :: MAT_OPTION_MIN = -3
     45:       PetscEnum, parameter :: MAT_UNUSED_NONZERO_LOCATION_ERR = -2
     46:       PetscEnum, parameter :: MAT_ROW_ORIENTED = -1
     47:       PetscEnum, parameter :: MAT_SYMMETRIC = 1
     48:       PetscEnum, parameter :: MAT_STRUCTURALLY_SYMMETRIC = 2
     49:       PetscEnum, parameter :: MAT_NEW_DIAGONALS = 3
     50:       PetscEnum, parameter :: MAT_IGNORE_OFF_PROC_ENTRIES = 4
     51:       PetscEnum, parameter :: MAT_USE_HASH_TABLE = 5
     52:       PetscEnum, parameter :: MAT_KEEP_NONZERO_PATTERN = 6
     53:       PetscEnum, parameter :: MAT_IGNORE_ZERO_ENTRIES = 7
     54:       PetscEnum, parameter :: MAT_USE_INODES = 8
     55:       PetscEnum, parameter :: MAT_HERMITIAN = 9
     56:       PetscEnum, parameter :: MAT_SYMMETRY_ETERNAL = 10
     57:       PetscEnum, parameter :: MAT_NEW_NONZERO_LOCATION_ERR = 11
     58:       PetscEnum, parameter :: MAT_IGNORE_LOWER_TRIANGULAR = 12
     59:       PetscEnum, parameter :: MAT_ERROR_LOWER_TRIANGULAR = 13
     60:       PetscEnum, parameter :: MAT_GETROW_UPPERTRIANGULAR = 14
     61:       PetscEnum, parameter :: MAT_SPD = 15
     62:       PetscEnum, parameter :: MAT_NO_OFF_PROC_ZERO_ROWS = 16
     63:       PetscEnum, parameter :: MAT_NO_OFF_PROC_ENTRIES = 17
     64:       PetscEnum, parameter :: MAT_NEW_NONZERO_LOCATIONS = 18
     65:       PetscEnum, parameter :: MAT_NEW_NONZERO_ALLOCATION_ERR = 19
     66:       PetscEnum, parameter :: MAT_SUBSET_OFF_PROC_ENTRIES = 20
     67:       PetscEnum, parameter :: MAT_SUBMAT_SINGLEIS = 21
     68:       PetscEnum, parameter :: MAT_STRUCTURE_ONLY = 22
     69:       PetscEnum, parameter :: MAT_OPTION_MAX = 23
     70: !
     71: !  MatFactorShiftType
     72: !
     73:       PetscEnum, parameter :: MAT_SHIFT_NONE=0
     74:       PetscEnum, parameter :: MAT_SHIFT_NONZERO=1
     75:       PetscEnum, parameter :: MAT_SHIFT_POSITIVE_DEFINITE=2
     76:       PetscEnum, parameter :: MAT_SHIFT_INBLOCKS=3
     77: !
     78: !  MatFactorError
     79: !
     80:       PetscEnum, parameter :: MAT_FACTOR_NOERROR=0
     81:       PetscEnum, parameter :: MAT_FACTOR_STRUCT_ZEROPIVOT=1
     82:       PetscEnum, parameter :: MAT_FACTOR_NUMERIC_ZEROPIVOT=2
     83:       PetscEnum, parameter :: MAT_FACTOR_OUTMEMORY=3
     84:       PetscEnum, parameter :: MAT_FACTOR_OTHER=4
     85: !
     86: !  MatDuplicateOption
     87: !
     88:       PetscEnum, parameter :: MAT_DO_NOT_COPY_VALUES=0
     89:       PetscEnum, parameter :: MAT_COPY_VALUES=1
     90:       PetscEnum, parameter :: MAT_SHARE_NONZERO_PATTERN=2
     91: !
     92: !  Flags for MatCopy, MatAXPY
     93: !
     94:       PetscEnum, parameter :: DIFFERENT_NONZERO_PATTERN = 0
     95:       PetscEnum, parameter :: SUBSET_NONZERO_PATTERN=1
     96:       PetscEnum, parameter :: SAME_NONZERO_PATTERN = 2

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

    100:       PetscEnum, parameter :: MAT_INFO_BLOCK_SIZE=1
    101:       PetscEnum, parameter :: MAT_INFO_NZ_ALLOCATED=2
    102:       PetscEnum, parameter :: MAT_INFO_NZ_USED=3
    103:       PetscEnum, parameter :: MAT_INFO_NZ_UNNEEDED=4
    104:       PetscEnum, parameter :: MAT_INFO_MEMORY=5
    105:       PetscEnum, parameter :: MAT_INFO_ASSEMBLIES=6
    106:       PetscEnum, parameter :: MAT_INFO_MALLOCS=7
    107:       PetscEnum, parameter :: MAT_INFO_FILL_RATIO_GIVEN=8
    108:       PetscEnum, parameter :: MAT_INFO_FILL_RATIO_NEEDED=9
    109:       PetscEnum, parameter :: MAT_INFO_FACTOR_MALLOCS=10
    110: !
    111: !  MatReuse
    112: !
    113:       PetscEnum, parameter :: MAT_INITIAL_MATRIX=0
    114:       PetscEnum, parameter :: MAT_REUSE_MATRIX=1
    115:       PetscEnum, parameter :: MAT_IGNORE_MATRIX=2
    116:       PetscEnum, parameter :: MAT_INPLACE_MATRIX=3
    117: !
    118: !  MatInfoType
    119: !
    120:       PetscEnum, parameter :: MAT_LOCAL=1
    121:       PetscEnum, parameter :: MAT_GLOBAL_MAX=2
    122:       PetscEnum, parameter :: MAT_GLOBAL_SUM=3

    124: !
    125: !  MatCompositeType
    126: !
    127:       PetscEnum, parameter :: MAT_COMPOSITE_ADDITIVE = 0
    128:       PetscEnum, parameter :: MAT_COMPOSITE_MULTIPLICATIVE = 1

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

    132:       PetscEnum, parameter :: MAT_FACTORINFO_DIAGONAL_FILL = 1
    133:       PetscEnum, parameter :: MAT_FACTORINFO_USEDT = 2
    134:       PetscEnum, parameter :: MAT_FACTORINFO_DT = 3
    135:       PetscEnum, parameter :: MAT_FACTORINFO_DTCOL = 4
    136:       PetscEnum, parameter :: MAT_FACTORINFO_DTCOUNT = 5
    137:       PetscEnum, parameter :: MAT_FACTORINFO_FILL = 6
    138:       PetscEnum, parameter :: MAT_FACTORINFO_LEVELS = 7
    139:       PetscEnum, parameter :: MAT_FACTORINFO_PIVOT_IN_BLOCKS = 8
    140:       PetscEnum, parameter :: MAT_FACTORINFO_ZERO_PIVOT = 9
    141:       PetscEnum, parameter :: MAT_FACTORINFO_SHIFT_TYPE = 10
    142:       PetscEnum, parameter :: MAT_FACTORINFO_SHIFT_AMOUNT = 11
    143: !
    144: !  Options for SOR and SSOR
    145: !  MatSorType may be bitwise ORd together, so do not change the numbers
    146: !
    147:       PetscEnum, parameter :: SOR_FORWARD_SWEEP=1
    148:       PetscEnum, parameter :: SOR_BACKWARD_SWEEP=2
    149:       PetscEnum, parameter :: SOR_SYMMETRIC_SWEEP=3
    150:       PetscEnum, parameter :: SOR_LOCAL_FORWARD_SWEEP=4
    151:       PetscEnum, parameter :: SOR_LOCAL_BACKWARD_SWEEP=8
    152:       PetscEnum, parameter :: SOR_LOCAL_SYMMETRIC_SWEEP=12
    153:       PetscEnum, parameter :: SOR_ZERO_INITIAL_GUESS=16
    154:       PetscEnum, parameter :: SOR_EISENSTAT=32
    155:       PetscEnum, parameter :: SOR_APPLY_UPPER=64
    156:       PetscEnum, parameter :: SOR_APPLY_LOWER=128
    157: !
    158: !  MatOperation
    159: !
    160:       PetscEnum, parameter :: MATOP_SET_VALUES=0
    161:       PetscEnum, parameter :: MATOP_GET_ROW=1
    162:       PetscEnum, parameter :: MATOP_RESTORE_ROW=2
    163:       PetscEnum, parameter :: MATOP_MULT=3
    164:       PetscEnum, parameter :: MATOP_MULT_ADD=4
    165:       PetscEnum, parameter :: MATOP_MULT_TRANSPOSE=5
    166:       PetscEnum, parameter :: MATOP_MULT_TRANSPOSE_ADD=6
    167:       PetscEnum, parameter :: MATOP_SOLVE=7
    168:       PetscEnum, parameter :: MATOP_SOLVE_ADD=8
    169:       PetscEnum, parameter :: MATOP_SOLVE_TRANSPOSE=9
    170:       PetscEnum, parameter :: MATOP_SOLVE_TRANSPOSE_ADD=10
    171:       PetscEnum, parameter :: MATOP_LUFACTOR=11
    172:       PetscEnum, parameter :: MATOP_CHOLESKYFACTOR=12
    173:       PetscEnum, parameter :: MATOP_SOR=13
    174:       PetscEnum, parameter :: MATOP_TRANSPOSE=14
    175:       PetscEnum, parameter :: MATOP_GETINFO=15
    176:       PetscEnum, parameter :: MATOP_EQUAL=16
    177:       PetscEnum, parameter :: MATOP_GET_DIAGONAL=17
    178:       PetscEnum, parameter :: MATOP_DIAGONAL_SCALE=18
    179:       PetscEnum, parameter :: MATOP_NORM=19
    180:       PetscEnum, parameter :: MATOP_ASSEMBLY_BEGIN=20
    181:       PetscEnum, parameter :: MATOP_ASSEMBLY_END=21
    182:       PetscEnum, parameter :: MATOP_SET_OPTION=22
    183:       PetscEnum, parameter :: MATOP_ZERO_ENTRIES=23
    184:       PetscEnum, parameter :: MATOP_ZERO_ROWS=24
    185:       PetscEnum, parameter :: MATOP_LUFACTOR_SYMBOLIC=25
    186:       PetscEnum, parameter :: MATOP_LUFACTOR_NUMERIC=26
    187:       PetscEnum, parameter :: MATOP_CHOLESKY_FACTOR_SYMBOLIC=27
    188:       PetscEnum, parameter :: MATOP_CHOLESKY_FACTOR_NUMERIC=28
    189:       PetscEnum, parameter :: MATOP_SETUP_PREALLOCATION=29
    190:       PetscEnum, parameter :: MATOP_ILUFACTOR_SYMBOLIC=30
    191:       PetscEnum, parameter :: MATOP_ICCFACTOR_SYMBOLIC=31
    192:       PetscEnum, parameter :: MATOP_GET_DIAGONAL_BLOCK=32
    193: !     PetscEnum, parameter :: MATOP_FREE_INTER_STRUCT=33
    194:       PetscEnum, parameter :: MATOP_DUPLICATE=34
    195:       PetscEnum, parameter :: MATOP_FORWARD_SOLVE=35
    196:       PetscEnum, parameter :: MATOP_BACKWARD_SOLVE=36
    197:       PetscEnum, parameter :: MATOP_ILUFACTOR=37
    198:       PetscEnum, parameter :: MATOP_ICCFACTOR=38
    199:       PetscEnum, parameter :: MATOP_AXPY=39
    200:       PetscEnum, parameter :: MATOP_CREATE_SUBMATRICES=40
    201:       PetscEnum, parameter :: MATOP_INCREASE_OVERLAP=41
    202:       PetscEnum, parameter :: MATOP_GET_VALUES=42
    203:       PetscEnum, parameter :: MATOP_COPY=43
    204:       PetscEnum, parameter :: MATOP_GET_ROW_MAX=44
    205:       PetscEnum, parameter :: MATOP_SCALE=45
    206:       PetscEnum, parameter :: MATOP_SHIFT=46
    207:       PetscEnum, parameter :: MATOP_DIAGONAL_SET=47
    208:       PetscEnum, parameter :: MATOP_ZERO_ROWS_COLUMNS=48
    209:       PetscEnum, parameter :: MATOP_SET_RANDOM=49
    210:       PetscEnum, parameter :: MATOP_GET_ROW_IJ=50
    211:       PetscEnum, parameter :: MATOP_RESTORE_ROW_IJ=51
    212:       PetscEnum, parameter :: MATOP_GET_COLUMN_IJ=52
    213:       PetscEnum, parameter :: MATOP_RESTORE_COLUMN_IJ=53
    214:       PetscEnum, parameter :: MATOP_FDCOLORING_CREATE=54
    215:       PetscEnum, parameter :: MATOP_COLORING_PATCH=55
    216:       PetscEnum, parameter :: MATOP_SET_UNFACTORED=56
    217:       PetscEnum, parameter :: MATOP_PERMUTE=57
    218:       PetscEnum, parameter :: MATOP_SET_VALUES_BLOCKED=58
    219:       PetscEnum, parameter :: MATOP_CREATE_SUBMATRIX=59
    220:       PetscEnum, parameter :: MATOP_DESTROY=60
    221:       PetscEnum, parameter :: MATOP_VIEW=61
    222:       PetscEnum, parameter :: MATOP_CONVERT_FROM=62
    223:       PetscEnum, parameter :: MATOP_PLACEHOLDER_63=63
    224:       PetscEnum, parameter :: MATOP_MATMAT_MULT_SYMBOLIC=64
    225:       PetscEnum, parameter :: MATOP_MATMAT_MULT_NUMERIC=65
    226:       PetscEnum, parameter :: MATOP_SET_LOCAL_TO_GLOBAL_MAP=66
    227:       PetscEnum, parameter :: MATOP_SET_VALUES_LOCAL=67
    228:       PetscEnum, parameter :: MATOP_ZERO_ROWS_LOCAL=68
    229:       PetscEnum, parameter :: MATOP_GET_ROW_MAX_ABS=69
    230:       PetscEnum, parameter :: MATOP_GET_ROW_MIN_ABS=70
    231:       PetscEnum, parameter :: MATOP_CONVERT=71
    232:       PetscEnum, parameter :: MATOP_SET_COLORING=72
    233: !     PetscEnum, parameter :: MATOP_PLACEHOLDER_73=73
    234:       PetscEnum, parameter :: MATOP_SET_VALUES_ADIFOR=74
    235:       PetscEnum, parameter :: MATOP_FD_COLORING_APPLY=75
    236:       PetscEnum, parameter :: MATOP_SET_FROM_OPTIONS=76
    237:       PetscEnum, parameter :: MATOP_MULT_CONSTRAINED=77
    238:       PetscEnum, parameter :: MATOP_MULT_TRANSPOSE_CONSTRAIN=78
    239:       PetscEnum, parameter :: MATOP_FIND_ZERO_DIAGONALS=79
    240:       PetscEnum, parameter :: MATOP_MULT_MULTIPLE=80
    241:       PetscEnum, parameter :: MATOP_SOLVE_MULTIPLE=81
    242:       PetscEnum, parameter :: MATOP_GET_INERTIA=82
    243:       PetscEnum, parameter :: MATOP_LOAD=83
    244:       PetscEnum, parameter :: MATOP_IS_SYMMETRIC=84
    245:       PetscEnum, parameter :: MATOP_IS_HERMITIAN=85
    246:       PetscEnum, parameter :: MATOP_IS_STRUCTURALLY_SYMMETRIC=86
    247:       PetscEnum, parameter :: MATOP_SET_VALUES_BLOCKEDLOCAL=87
    248:       PetscEnum, parameter :: MATOP_CREATE_VECS=88
    249:       PetscEnum, parameter :: MATOP_PLACEHOLDER_89=89
    250:       PetscEnum, parameter :: MATOP_MAT_MULT_SYMBOLIC=90
    251:       PetscEnum, parameter :: MATOP_MAT_MULT_NUMERIC=91
    252:       PetscEnum, parameter :: MATOP_PLACEHOLDER_92=92
    253:       PetscEnum, parameter :: MATOP_PTAP_SYMBOLIC=93
    254:       PetscEnum, parameter :: MATOP_PTAP_NUMERIC=94
    255:       PetscEnum, parameter :: MATOP_MAT_TRANSPOSE_MULT=95
    256:       PetscEnum, parameter :: MATOP_MAT_TRANSPOSE_MULT_SYMBO=96
    257:       PetscEnum, parameter :: MATOP_MAT_TRANSPOSE_MULT_NUMER=97
    258: !     PetscEnum, parameter :: MATOP_PLACEHOLDER_98=98
    259: !     PetscEnum, parameter :: MATOP_PRODUCTSETFROMOPTIONS=99
    260: !     PetscEnum, parameter :: MATOP_PRODUCTSYMBOLIC=100
    261: !     PetscEnum, parameter :: MATOP_PRODUCTNUMERIC=101
    262:       PetscEnum, parameter :: MATOP_CONJUGATE=102
    263: !     PetscEnum, parameter :: MATOP_PLACEHOLDER_103=103
    264:       PetscEnum, parameter :: MATOP_SET_VALUES_ROW=104
    265:       PetscEnum, parameter :: MATOP_REAL_PART=105
    266:       PetscEnum, parameter :: MATOP_IMAGINARY_PART=106
    267:       PetscEnum, parameter :: MATOP_GET_ROW_UPPER_TRIANGULAR=107
    268:       PetscEnum, parameter :: MATOP_RESTORE_ROW_UPPER_TRIANG=108
    269:       PetscEnum, parameter :: MATOP_MAT_SOLVE=109
    270:       PetscEnum, parameter :: MATOP_MAT_SOLVE_TRANSPOSE=110
    271:       PetscEnum, parameter :: MATOP_GET_ROW_MIN=111
    272:       PetscEnum, parameter :: MATOP_GET_COLUMN_VECTOR=112
    273:       PetscEnum, parameter :: MATOP_MISSING_DIAGONAL=113
    274:       PetscEnum, parameter :: MATOP_GET_SEQ_NONZERO_STRUCTUR=114
    275:       PetscEnum, parameter :: MATOP_CREATE=115
    276:       PetscEnum, parameter :: MATOP_GET_GHOSTS=116
    277:       PetscEnum, parameter :: MATOP_GET_LOCAL_SUB_MATRIX=117
    278:       PetscEnum, parameter :: MATOP_RESTORE_LOCALSUB_MATRIX=118
    279:       PetscEnum, parameter :: MATOP_MULT_DIAGONAL_BLOCK=119
    280:       PetscEnum, parameter :: MATOP_HERMITIAN_TRANSPOSE=120
    281:       PetscEnum, parameter :: MATOP_MULT_HERMITIAN_TRANSPOSE=121
    282:       PetscEnum, parameter :: MATOP_MULT_HERMITIAN_TRANS_ADD=122
    283:       PetscEnum, parameter :: MATOP_GET_MULTI_PROC_BLOCK=123
    284:       PetscEnum, parameter :: MATOP_FIND_NONZERO_ROWS=124
    285:       PetscEnum, parameter :: MATOP_GET_COLUMN_NORMS=125
    286:       PetscEnum, parameter :: MATOP_INVERT_BLOCK_DIAGONAL=126
    287: !     PetscEnum, parameter :: MATOP_PLACEHOLDER_127=127
    288:       PetscEnum, parameter :: MATOP_CREATE_SUB_MATRICES_MPI=128
    289:       PetscEnum, parameter :: MATOP_SET_VALUES_BATCH=129
    290:       PetscEnum, parameter :: MATOP_PLACEHOLDER_130=130
    291:       PetscEnum, parameter :: MATOP_TRANSPOSE_MAT_MULT_SYMBO=131
    292:       PetscEnum, parameter :: MATOP_TRANSPOSE_MAT_MULT_NUMER=132
    293:       PetscEnum, parameter :: MATOP_TRANSPOSE_COLORING_CREAT=133
    294:       PetscEnum, parameter :: MATOP_TRANS_COLORING_APPLY_SPT=134
    295:       PetscEnum, parameter :: MATOP_TRANS_COLORING_APPLY_DEN=135
    296:       PetscEnum, parameter :: MATOP_PLACEHOLDER_136=136
    297:       PetscEnum, parameter :: MATOP_RART_SYMBOLIC=137
    298:       PetscEnum, parameter :: MATOP_RART_NUMERIC=138
    299:       PetscEnum, parameter :: MATOP_SET_BLOCK_SIZES=139
    300:       PetscEnum, parameter :: MATOP_AYPX=140
    301:       PetscEnum, parameter :: MATOP_RESIDUAL=141
    302:       PetscEnum, parameter :: MATOP_FDCOLORING_SETUP=142
    303:       PetscEnum, parameter :: MATOP_MPICONCATENATESEQ=144
    304:       PetscEnum, parameter :: MATOP_DESTROYSUBMATRICES=145
    305:       PetscEnum, parameter :: MATOP_TRANSPOSE_SOLVE=146
    306:       PetscEnum, parameter :: MATOP_GET_VALUES_LOCAL=147
    307: !
    308: !
    309: !
    310:       PetscEnum, parameter :: MATRIX_BINARY_FORMAT_DENSE=-1
    311: !
    312: ! MPChacoGlobalType
    313:       PetscEnum, parameter :: MP_CHACO_MULTILEVEL_KL=0
    314:       PetscEnum, parameter :: MP_CHACO_SPECTRAL=1
    315:       PetscEnum, parameter :: MP_CHACO_LINEAR=2
    316:       PetscEnum, parameter :: MP_CHACO_RANDOM=3
    317:       PetscEnum, parameter :: MP_CHACO_SCATTERED=4
    318: !
    319: ! MPChacoLocalType
    320:       PetscEnum, parameter :: MP_CHACO_KERNIGHAN_LIN=0
    321:       PetscEnum, parameter :: MP_CHACO_NONE=1
    322: !
    323: ! MPChacoEigenType
    324:       PetscEnum, parameter :: MP_CHACO_LANCZOS=0
    325:       PetscEnum, parameter :: MP_CHACO_RQI_SYMMLQ=1
    326: !
    327: ! MPPTScotchStrategyType
    328:       PetscEnum, parameter :: MP_PTSCOTCH_QUALITY = 0
    329:       PetscEnum, parameter :: MP_PTSCOTCH_SPEED = 1
    330:       PetscEnum, parameter :: MP_PTSCOTCH_BALANCE = 2
    331:       PetscEnum, parameter :: MP_PTSCOTCH_SAFETY = 3
    332:       PetscEnum, parameter :: MP_PTSCOTCH_SCALABILITY = 4

    334: ! PetscScalarPrecision
    335:       PetscEnum, parameter :: PETSC_SCALAR_DOUBLE=0
    336:       PetscEnum, parameter :: PETSC_SCALAR_SINGLE=1
    337:       PetscEnum, parameter :: PETSC_SCALAR_LONG_DOUBLE=2
    338: !
    339: !     CUSPARSE enumerated types
    340: !
    341: #if defined(PETSC_HAVE_CUDA)
    342:       PetscEnum, parameter :: MAT_CUSPARSE_CSR=0
    343:       PetscEnum, parameter :: MAT_CUSPARSE_ELL=1
    344:       PetscEnum, parameter :: MAT_CUSPARSE_HYB=2
    345:       PetscEnum, parameter :: MAT_CUSPARSE_MULT_DIAG=0
    346:       PetscEnum, parameter :: MAT_CUSPARSE_MULT_OFFDIAG=1
    347:       PetscEnum, parameter :: MAT_CUSPARSE_MULT=2
    348:       PetscEnum, parameter :: MAT_CUSPARSE_ALL=3
    349: #endif
    350: !
    351: !  End of Fortran include file for the Mat package in PETSc
    352: !
    353: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
    354: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_MAT
    355: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_MATFDCOLORING
    356: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_MATNULLSPACE
    357: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FLUSH_ASSEMBLY
    358: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FINAL_ASSEMBLY
    359: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_NONE
    360: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_LU
    361: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_CHOLESKY
    362: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_ILU
    363: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_ICC
    364: !DEC$ ATTRIBUTES DLLEXPORT::MAT_DO_NOT_GET_VALUES
    365: !DEC$ ATTRIBUTES DLLEXPORT::MAT_GET_VALUES
    366: !DEC$ ATTRIBUTES DLLEXPORT::MAT_OPTION_MIN
    367: !DEC$ ATTRIBUTES DLLEXPORT::MAT_UNUSED_NONZERO_LOCATION_ERR
    368: !DEC$ ATTRIBUTES DLLEXPORT::MAT_ROW_ORIENTED
    369: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SYMMETRIC
    370: !DEC$ ATTRIBUTES DLLEXPORT::MAT_STRUCTURALLY_SYMMETRIC
    371: !DEC$ ATTRIBUTES DLLEXPORT::MAT_NEW_DIAGONALS
    372: !DEC$ ATTRIBUTES DLLEXPORT::MAT_IGNORE_OFF_PROC_ENTRIES
    373: !DEC$ ATTRIBUTES DLLEXPORT::MAT_USE_HASH_TABLE
    374: !DEC$ ATTRIBUTES DLLEXPORT::MAT_KEEP_NONZERO_PATTERN
    375: !DEC$ ATTRIBUTES DLLEXPORT::MAT_IGNORE_ZERO_ENTRIES
    376: !DEC$ ATTRIBUTES DLLEXPORT::MAT_USE_INODES
    377: !DEC$ ATTRIBUTES DLLEXPORT::MAT_HERMITIAN
    378: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SYMMETRY_ETERNAL
    379: !DEC$ ATTRIBUTES DLLEXPORT::MAT_NEW_NONZERO_LOCATION_ERR
    380: !DEC$ ATTRIBUTES DLLEXPORT::MAT_IGNORE_LOWER_TRIANGULAR
    381: !DEC$ ATTRIBUTES DLLEXPORT::MAT_ERROR_LOWER_TRIANGULAR
    382: !DEC$ ATTRIBUTES DLLEXPORT::MAT_GETROW_UPPERTRIANGULAR
    383: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SPD
    384: !DEC$ ATTRIBUTES DLLEXPORT::MAT_NO_OFF_PROC_ZERO_ROWS
    385: !DEC$ ATTRIBUTES DLLEXPORT::MAT_NO_OFF_PROC_ENTRIES
    386: !DEC$ ATTRIBUTES DLLEXPORT::MAT_NEW_NONZERO_LOCATIONS
    387: !DEC$ ATTRIBUTES DLLEXPORT::MAT_NEW_NONZERO_ALLOCATION_ERR
    388: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SUBSET_OFF_PROC_ENTRIES
    389: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SUBMAT_SINGLEIS
    390: !DEC$ ATTRIBUTES DLLEXPORT::MAT_STRUCTURE_ONLY
    391: !DEC$ ATTRIBUTES DLLEXPORT::MAT_OPTION_MAX
    392: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SHIFT_NONE
    393: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SHIFT_NONZERO
    394: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SHIFT_POSITIVE_DEFINITE
    395: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SHIFT_INBLOCKS
    396: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_NOERROR
    397: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_STRUCT_ZEROPIVOT
    398: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_NUMERIC_ZEROPIVOT
    399: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_OUTMEMORY
    400: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_OTHER
    401: !DEC$ ATTRIBUTES DLLEXPORT::MAT_DO_NOT_COPY_VALUES
    402: !DEC$ ATTRIBUTES DLLEXPORT::MAT_COPY_VALUES
    403: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SHARE_NONZERO_PATTERN
    404: !DEC$ ATTRIBUTES DLLEXPORT::DIFFERENT_NONZERO_PATTERN
    405: !DEC$ ATTRIBUTES DLLEXPORT::SUBSET_NONZERO_PATTERN
    406: !DEC$ ATTRIBUTES DLLEXPORT::SAME_NONZERO_PATTERN
    407: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_BLOCK_SIZE
    408: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_NZ_ALLOCATED
    409: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_NZ_USED
    410: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_NZ_UNNEEDED
    411: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_MEMORY
    412: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_ASSEMBLIES
    413: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_MALLOCS
    414: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_FILL_RATIO_GIVEN
    415: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_FILL_RATIO_NEEDED
    416: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_FACTOR_MALLOCS
    417: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INITIAL_MATRIX
    418: !DEC$ ATTRIBUTES DLLEXPORT::MAT_REUSE_MATRIX
    419: !DEC$ ATTRIBUTES DLLEXPORT::MAT_IGNORE_MATRIX
    420: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INPLACE_MATRIX
    421: !DEC$ ATTRIBUTES DLLEXPORT::MAT_LOCAL
    422: !DEC$ ATTRIBUTES DLLEXPORT::MAT_GLOBAL_MAX
    423: !DEC$ ATTRIBUTES DLLEXPORT::MAT_GLOBAL_SUM
    424: !DEC$ ATTRIBUTES DLLEXPORT::MAT_COMPOSITE_ADDITIVE
    425: !DEC$ ATTRIBUTES DLLEXPORT::MAT_COMPOSITE_MULTIPLICATIVE
    426: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_DIAGONAL_FILL
    427: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_USEDT
    428: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_DT
    429: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_DTCOL
    430: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_DTCOUNT
    431: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_FILL
    432: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_LEVELS
    433: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_PIVOT_IN_BLOCKS
    434: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_ZERO_PIVOT
    435: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_SHIFT_TYPE
    436: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_SHIFT_AMOUNT
    437: !DEC$ ATTRIBUTES DLLEXPORT::SOR_FORWARD_SWEEP
    438: !DEC$ ATTRIBUTES DLLEXPORT::SOR_BACKWARD_SWEEP
    439: !DEC$ ATTRIBUTES DLLEXPORT::SOR_SYMMETRIC_SWEEP
    440: !DEC$ ATTRIBUTES DLLEXPORT::SOR_LOCAL_FORWARD_SWEEP
    441: !DEC$ ATTRIBUTES DLLEXPORT::SOR_LOCAL_BACKWARD_SWEEP
    442: !DEC$ ATTRIBUTES DLLEXPORT::SOR_LOCAL_SYMMETRIC_SWEEP
    443: !DEC$ ATTRIBUTES DLLEXPORT::SOR_ZERO_INITIAL_GUESS
    444: !DEC$ ATTRIBUTES DLLEXPORT::SOR_EISENSTAT
    445: !DEC$ ATTRIBUTES DLLEXPORT::SOR_APPLY_UPPER
    446: !DEC$ ATTRIBUTES DLLEXPORT::SOR_APPLY_LOWER
    447: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_VALUES
    448: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_ROWMATOP_RESTORE_ROW
    449: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT
    450: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_ADD
    451: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_TRANSPOSE
    452: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_TRANSPOSE_ADD
    453: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SOLVE
    454: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SOLVE_ADD
    455: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SOLVE_TRANSPOSE
    456: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SOLVE_TRANSPOSE_ADD
    457: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_LUFACTOR
    458: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CHOLESKYFACTOR
    459: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SOR
    460: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANSPOSE
    461: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GETINFO
    462: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_EQUAL
    463: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_DIAGONAL
    464: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_DIAGONAL_SCALE
    465: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_NORM
    466: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ASSEMBLY_BEGIN
    467: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ASSEMBLY_END
    468: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_OPTION
    469: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ZERO_ENTRIES
    470: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ZERO_ROWS
    471: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_LUFACTOR_SYMBOLIC
    472: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_LUFACTOR_NUMERIC
    473: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CHOLESKY_FACTOR_SYMBOLIC
    474: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CHOLESKY_FACTOR_NUMERIC
    475: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SETUP_PREALLOCATION
    476: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ILUFACTOR_SYMBOLIC
    477: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ICCFACTOR_SYMBOLIC
    478: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_DIAGONAL_BLOCK
    479: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_DUPLICATE
    480: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_FORWARD_SOLVE
    481: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_BACKWARD_SOLVE
    482: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ILUFACTOR
    483: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ICCFACTOR
    484: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_AXPY
    485: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CREATE_SUBMATRICES
    486: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_INCREASE_OVERLAP
    487: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_VALUES
    488: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_COPY
    489: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_ROW_MAX
    490: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SCALE
    491: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SHIFT
    492: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_DIAGONAL_SET
    493: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ZERO_ROWS_COLUMNS
    494: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_RANDOM
    495: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_ROW_IJ
    496: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RESTORE_ROW_IJ
    497: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_COLUMN_IJ
    498: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RESTORE_COLUMN_IJ
    499: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_FDCOLORING_CREATE
    500: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_COLORING_PATCH
    501: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_UNFACTORED
    502: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_PERMUTE
    503: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_VALUES_BLOCKED
    504: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CREATE_SUBMATRIX
    505: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_DESTROY
    506: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_VIEW
    507: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CONVERT_FROM
    508: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MATMAT_MULT
    509: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MATMAT_MULT_SYMBOLIC
    510: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MATMAT_MULT_NUMERIC
    511: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_LOCAL_TO_GLOBAL_MAP
    512: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_VALUES_LOCAL
    513: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ZERO_ROWS_LOCAL
    514: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_ROW_MAX_ABS
    515: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_ROW_MIN_ABS
    516: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CONVERT
    517: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_COLORING
    518: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_VALUES_ADIFOR
    519: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_FD_COLORING_APPLY
    520: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_FROM_OPTIONS
    521: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_CONSTRAINED
    522: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_TRANSPOSE_CONSTRAIN
    523: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_FIND_ZERO_DIAGONALS
    524: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_MULTIPLE
    525: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SOLVE_MULTIPLE
    526: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_INERTIA
    527: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_LOAD
    528: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_IS_SYMMETRIC
    529: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_IS_HERMITIAN
    530: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_IS_STRUCTURALLY_SYMMETRIC
    531: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_VALUES_BLOCKEDLOCAL
    532: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CREATE_VECS
    533: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_MULT
    534: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_MULT_SYMBOLIC
    535: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_MULT_NUMERIC
    536: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_PTAP
    537: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_PTAP_SYMBOLIC
    538: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_PTAP_NUMERIC
    539: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_TRANSPOSE_MULT
    540: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_TRANSPOSE_MULT_SYMBO
    541: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_TRANSPOSE_MULT_NUMER
    542: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CONJUGATE
    543: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_VALUES_ROW
    544: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_REAL_PART
    545: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_IMAGINARY_PART
    546: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_ROW_UPPER_TRIANGULAR
    547: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RESTORE_ROW_UPPER_TRIANG
    548: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_SOLVE
    549: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_SOLVE_TRANSPOSE
    550: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_ROW_MIN
    551: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_COLUMN_VECTOR
    552: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MISSING_DIAGONAL
    553: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_SEQ_NONZERO_STRUCTUR
    554: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CREATE
    555: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_GHOSTS
    556: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_LOCAL_SUB_MATRIX
    557: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RESTORE_LOCALSUB_MATRIX
    558: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_DIAGONAL_BLOCK
    559: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_HERMITIAN_TRANSPOSE
    560: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_HERMITIAN_TRANSPOSE
    561: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_HERMITIAN_TRANS_ADD
    562: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_MULTI_PROC_BLOCK
    563: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_FIND_NONZERO_ROWS
    564: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_COLUMN_NORMS
    565: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_INVERT_BLOCK_DIAGONAL
    566: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CREATE_SUB_MATRICES_MPI
    567: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_VALUES_BATCH
    568: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANSPOSE_MAT_MULT
    569: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANSPOSE_MAT_MULT_SYMBO
    570: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANSPOSE_MAT_MULT_NUMER
    571: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANSPOSE_COLORING_CREAT
    572: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANS_COLORING_APPLY_SPT
    573: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANS_COLORING_APPLY_DEN
    574: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RART
    575: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RART_SYMBOLIC
    576: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RART_NUMERIC
    577: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_BLOCK_SIZES
    578: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_AYPX
    579: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RESIDUAL
    580: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_FDCOLORING_SETUP
    581: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MPICONCATENATESEQ
    582: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_DESTROYSUBMATRICES
    583: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANSPOSE_SOLVE
    584: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_VALUES_LOCAL
    585: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_MULTILEVEL_KL
    586: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_SPECTRAL
    587: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_LINEAR
    588: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_RANDOM
    589: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_SCATTERED
    590: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_KERNIGHAN_LIN
    591: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_NONE
    592: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_LANCZOS
    593: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_RQI_SYMMLQ
    594: !DEC$ ATTRIBUTES DLLEXPORT::MP_PTSCOTCH_QUALITY
    595: !DEC$ ATTRIBUTES DLLEXPORT::MP_PTSCOTCH_SPEED
    596: !DEC$ ATTRIBUTES DLLEXPORT::MP_PTSCOTCH_BALANCE
    597: !DEC$ ATTRIBUTES DLLEXPORT::MP_PTSCOTCH_SAFETY
    598: !DEC$ ATTRIBUTES DLLEXPORT::MP_PTSCOTCH_SCALABILITY
    599: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_SCALAR_DOUBLE
    600: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_SCALAR_SINGLE
    601: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_SCALAR_LONG_DOUBLE
    602: #if defined(PETSC_HAVE_CUDA)
    603: !DEC$ ATTRIBUTES DLLEXPORT::MAT_CUSPARSE_CSR
    604: !DEC$ ATTRIBUTES DLLEXPORT::MAT_CUSPARSE_ELL
    605: !DEC$ ATTRIBUTES DLLEXPORT::MAT_CUSPARSE_HYB
    606: !DEC$ ATTRIBUTES DLLEXPORT::
    607: !DEC$ ATTRIBUTES DLLEXPORT::MAT_CUSPARSE_MULT_DIAG
    608: !DEC$ ATTRIBUTES DLLEXPORT::MAT_CUSPARSE_MULT_OFFDIAG
    609: !DEC$ ATTRIBUTES DLLEXPORT::MAT_CUSPARSE_MULT
    610: !DEC$ ATTRIBUTES DLLEXPORT::MAT_CUSPARSE_ALL
    611: #endif
    612: #endif