Actual source code: petscmat.h
petsc-3.10.5 2019-03-28
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               &
     22:      &               = tMatFDColoring(0)
     23:       MatNullSpace, parameter :: PETSC_NULL_MATNULLSPACE                 &
     24:      &               = tMatNullSpace(0)
     25: !
     26: !  Flag for matrix assembly
     27: !
     28:       PetscEnum MAT_FLUSH_ASSEMBLY
     29:       PetscEnum MAT_FINAL_ASSEMBLY

     31:       parameter(MAT_FLUSH_ASSEMBLY=1,MAT_FINAL_ASSEMBLY=0)
     32: !
     33: !
     34: !
     35:       PetscEnum MAT_FACTOR_NONE
     36:       PetscEnum MAT_FACTOR_LU
     37:       PetscEnum MAT_FACTOR_CHOLESKY
     38:       PetscEnum MAT_FACTOR_ILU
     39:       PetscEnum MAT_FACTOR_ICC

     41:       parameter(MAT_FACTOR_NONE=0,MAT_FACTOR_LU=1)
     42:       parameter(MAT_FACTOR_CHOLESKY=2,MAT_FACTOR_ILU=3)
     43:       parameter(MAT_FACTOR_ICC=4)

     45: ! MatCreateSubMatrixOption
     46:       PetscEnum MAT_DO_NOT_GET_VALUES
     47:       PetscEnum MAT_GET_VALUES
     48:       parameter(MAT_DO_NOT_GET_VALUES=0,MAT_GET_VALUES=1)

     50: !
     51: !  MatOption; must match those in include/petscmat.h
     52: !
     53:       PetscEnum MAT_OPTION_MIN
     54:       PetscEnum MAT_UNUSED_NONZERO_LOCATION_ERR
     55:       PetscEnum MAT_ROW_ORIENTED
     56:       PetscEnum MAT_SYMMETRIC
     57:       PetscEnum MAT_STRUCTURALLY_SYMMETRIC
     58:       PetscEnum MAT_NEW_DIAGONALS
     59:       PetscEnum MAT_IGNORE_OFF_PROC_ENTRIES
     60:       PetscEnum MAT_USE_HASH_TABLE
     61:       PetscEnum MAT_KEEP_NONZERO_PATTERN
     62:       PetscEnum MAT_IGNORE_ZERO_ENTRIES
     63:       PetscEnum MAT_USE_INODES
     64:       PetscEnum MAT_HERMITIAN
     65:       PetscEnum MAT_SYMMETRY_ETERNAL
     66:       PetscEnum MAT_NEW_NONZERO_LOCATION_ERR
     67:       PetscEnum MAT_IGNORE_LOWER_TRIANGULAR
     68:       PetscEnum MAT_ERROR_LOWER_TRIANGULAR
     69:       PetscEnum MAT_GETROW_UPPERTRIANGULAR
     70:       PetscEnum MAT_SPD
     71:       PetscEnum MAT_NO_OFF_PROC_ZERO_ROWS
     72:       PetscEnum MAT_NO_OFF_PROC_ENTRIES
     73:       PetscEnum MAT_NEW_NONZERO_LOCATIONS
     74:       PetscEnum MAT_NEW_NONZERO_ALLOCATION_ERR
     75:       PetscEnum MAT_SUBSET_OFF_PROC_ENTRIES
     76:       PetscEnum MAT_SUBMAT_SINGLEIS
     77:       PetscEnum MAT_STRUCTURE_ONLY
     78:       PetscEnum MAT_OPTION_MAX

     80:       parameter(MAT_OPTION_MIN = -3)
     81:       parameter(MAT_UNUSED_NONZERO_LOCATION_ERR = -2)
     82:       parameter(MAT_ROW_ORIENTED = -1)
     83:       parameter(MAT_SYMMETRIC = 1)
     84:       parameter(MAT_STRUCTURALLY_SYMMETRIC = 2)
     85:       parameter(MAT_NEW_DIAGONALS = 3)
     86:       parameter(MAT_IGNORE_OFF_PROC_ENTRIES = 4)
     87:       parameter(MAT_USE_HASH_TABLE = 5)
     88:       parameter(MAT_KEEP_NONZERO_PATTERN = 6)
     89:       parameter(MAT_IGNORE_ZERO_ENTRIES = 7)
     90:       parameter(MAT_USE_INODES = 8)
     91:       parameter(MAT_HERMITIAN = 9)
     92:       parameter(MAT_SYMMETRY_ETERNAL = 10)
     93:       parameter(MAT_NEW_NONZERO_LOCATION_ERR = 11)
     94:       parameter(MAT_IGNORE_LOWER_TRIANGULAR = 12)
     95:       parameter(MAT_ERROR_LOWER_TRIANGULAR = 13)
     96:       parameter(MAT_GETROW_UPPERTRIANGULAR = 14)
     97:       parameter(MAT_SPD = 15)
     98:       parameter(MAT_NO_OFF_PROC_ZERO_ROWS = 16)
     99:       parameter(MAT_NO_OFF_PROC_ENTRIES = 17)
    100:       parameter(MAT_NEW_NONZERO_LOCATIONS = 18)
    101:       parameter(MAT_NEW_NONZERO_ALLOCATION_ERR = 19)
    102:       parameter(MAT_SUBSET_OFF_PROC_ENTRIES = 20)
    103:       parameter(MAT_SUBMAT_SINGLEIS = 21)
    104:       parameter(MAT_STRUCTURE_ONLY = 22)
    105:       parameter(MAT_OPTION_MAX = 23)
    106: !
    107: !  MatFactorShiftType
    108: !
    109:       PetscEnum MAT_SHIFT_NONE
    110:       PetscEnum MAT_SHIFT_NONZERO
    111:       PetscEnum MAT_SHIFT_POSITIVE_DEFINITE
    112:       PetscEnum MAT_SHIFT_INBLOCKS
    113:       parameter (MAT_SHIFT_NONE=0)
    114:       parameter (MAT_SHIFT_NONZERO=1)
    115:       parameter (MAT_SHIFT_POSITIVE_DEFINITE=2)
    116:       parameter (MAT_SHIFT_INBLOCKS=3)
    117: !
    118: !  MatFactorError
    119: !
    120:       PetscEnum MAT_FACTOR_NOERROR
    121:       PetscEnum MAT_FACTOR_STRUCT_ZEROPIVOT
    122:       PetscEnum MAT_FACTOR_NUMERIC_ZEROPIVOT
    123:       PetscEnum MAT_FACTOR_OUTMEMORY
    124:       PetscEnum MAT_FACTOR_OTHER

    126:       parameter (MAT_FACTOR_NOERROR=0)
    127:       parameter (MAT_FACTOR_STRUCT_ZEROPIVOT=1)
    128:       parameter (MAT_FACTOR_NUMERIC_ZEROPIVOT=2)
    129:       parameter (MAT_FACTOR_OUTMEMORY=3)
    130:       parameter (MAT_FACTOR_OTHER=4)
    131: !
    132: !  MatDuplicateOption
    133: !
    134:       PetscEnum MAT_DO_NOT_COPY_VALUES
    135:       PetscEnum MAT_COPY_VALUES
    136:       PetscEnum MAT_SHARE_NONZERO_PATTERN
    137:       parameter (MAT_DO_NOT_COPY_VALUES=0,MAT_COPY_VALUES=1)
    138:       parameter (MAT_SHARE_NONZERO_PATTERN=2)
    139: !
    140: !  Flags for MatCopy, MatAXPY
    141: !
    142:       PetscEnum DIFFERENT_NONZERO_PATTERN
    143:       PetscEnum SUBSET_NONZERO_PATTERN
    144:       PetscEnum SAME_NONZERO_PATTERN

    146:       parameter (DIFFERENT_NONZERO_PATTERN = 0,SUBSET_NONZERO_PATTERN=1)
    147:       parameter (SAME_NONZERO_PATTERN = 2)

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

    151:       PetscEnum MAT_INFO_BLOCK_SIZE
    152:       PetscEnum MAT_INFO_NZ_ALLOCATED
    153:       PetscEnum MAT_INFO_NZ_USED
    154:       PetscEnum MAT_INFO_NZ_UNNEEDED
    155:       PetscEnum MAT_INFO_MEMORY
    156:       PetscEnum MAT_INFO_ASSEMBLIES
    157:       PetscEnum MAT_INFO_MALLOCS
    158:       PetscEnum MAT_INFO_FILL_RATIO_GIVEN
    159:       PetscEnum MAT_INFO_FILL_RATIO_NEEDED
    160:       PetscEnum MAT_INFO_FACTOR_MALLOCS

    162:       parameter (MAT_INFO_BLOCK_SIZE=1,MAT_INFO_NZ_ALLOCATED=2)
    163:       parameter (MAT_INFO_NZ_USED=3,MAT_INFO_NZ_UNNEEDED=4)
    164:       parameter (MAT_INFO_MEMORY=5,MAT_INFO_ASSEMBLIES=6)
    165:       parameter (MAT_INFO_MALLOCS=7,MAT_INFO_FILL_RATIO_GIVEN=8)
    166:       parameter (MAT_INFO_FILL_RATIO_NEEDED=9)
    167:       parameter (MAT_INFO_FACTOR_MALLOCS=10)
    168: !
    169: !  MatReuse
    170: !
    171:       PetscEnum MAT_INITIAL_MATRIX
    172:       PetscEnum MAT_REUSE_MATRIX
    173:       PetscEnum MAT_IGNORE_MATRIX
    174:       PetscEnum MAT_INPLACE_MATRIX

    176:       parameter (MAT_INITIAL_MATRIX=0)
    177:       parameter (MAT_REUSE_MATRIX=1)
    178:       parameter (MAT_IGNORE_MATRIX=2)
    179:       parameter (MAT_INPLACE_MATRIX=3)

    181: !
    182: !  MatInfoType
    183: !
    184:       PetscEnum MAT_LOCAL
    185:       PetscEnum MAT_GLOBAL_MAX
    186:       PetscEnum MAT_GLOBAL_SUM

    188:       parameter (MAT_LOCAL=1,MAT_GLOBAL_MAX=2,MAT_GLOBAL_SUM=3)

    190: !
    191: !  MatCompositeType
    192: !
    193:       PetscEnum MAT_COMPOSITE_ADDITIVE
    194:       PetscEnum MAT_COMPOSITE_MULTIPLICATIVE

    196:       parameter (MAT_COMPOSITE_ADDITIVE = 0)
    197:       parameter (MAT_COMPOSITE_MULTIPLICATIVE = 1)

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

    201:       PetscEnum MAT_FACTORINFO_DIAGONAL_FILL
    202:       PetscEnum MAT_FACTORINFO_USEDT
    203:       PetscEnum MAT_FACTORINFO_DT
    204:       PetscEnum MAT_FACTORINFO_DTCOL
    205:       PetscEnum MAT_FACTORINFO_DTCOUNT
    206:       PetscEnum MAT_FACTORINFO_FILL
    207:       PetscEnum MAT_FACTORINFO_LEVELS
    208:       PetscEnum MAT_FACTORINFO_PIVOT_IN_BLOCKS
    209:       PetscEnum MAT_FACTORINFO_ZERO_PIVOT
    210:       PetscEnum MAT_FACTORINFO_SHIFT_TYPE
    211:       PetscEnum MAT_FACTORINFO_SHIFT_AMOUNT

    213:       parameter (MAT_FACTORINFO_DIAGONAL_FILL = 1)
    214:       parameter (MAT_FACTORINFO_USEDT = 2)
    215:       parameter (MAT_FACTORINFO_DT = 3)
    216:       parameter (MAT_FACTORINFO_DTCOL = 4)
    217:       parameter (MAT_FACTORINFO_DTCOUNT = 5)
    218:       parameter (MAT_FACTORINFO_FILL = 6)
    219:       parameter (MAT_FACTORINFO_LEVELS = 7)
    220:       parameter (MAT_FACTORINFO_PIVOT_IN_BLOCKS = 8)
    221:       parameter (MAT_FACTORINFO_ZERO_PIVOT = 9)
    222:       parameter (MAT_FACTORINFO_SHIFT_TYPE = 10)
    223:       parameter (MAT_FACTORINFO_SHIFT_AMOUNT = 11)

    226: !
    227: !  Options for SOR and SSOR
    228: !  MatSorType may be bitwise ORd together, so do not change the numbers
    229: !
    230:       PetscEnum SOR_FORWARD_SWEEP
    231:       PetscEnum SOR_BACKWARD_SWEEP
    232:       PetscEnum SOR_SYMMETRIC_SWEEP
    233:       PetscEnum SOR_LOCAL_FORWARD_SWEEP
    234:       PetscEnum SOR_LOCAL_BACKWARD_SWEEP
    235:       PetscEnum SOR_LOCAL_SYMMETRIC_SWEEP
    236:       PetscEnum SOR_ZERO_INITIAL_GUESS
    237:       PetscEnum SOR_EISENSTAT
    238:       PetscEnum SOR_APPLY_UPPER
    239:       PetscEnum SOR_APPLY_LOWER

    241:       parameter (SOR_FORWARD_SWEEP=1,SOR_BACKWARD_SWEEP=2)
    242:       parameter (SOR_SYMMETRIC_SWEEP=3,SOR_LOCAL_FORWARD_SWEEP=4)
    243:       parameter (SOR_LOCAL_BACKWARD_SWEEP=8)
    244:       parameter (SOR_LOCAL_SYMMETRIC_SWEEP=12)
    245:       parameter (SOR_ZERO_INITIAL_GUESS=16,SOR_EISENSTAT=32)
    246:       parameter (SOR_APPLY_UPPER=64,SOR_APPLY_LOWER=128)
    247: !
    248: !  MatOperation
    249: !
    250:       PetscEnum MATOP_SET_VALUES
    251:       PetscEnum MATOP_GET_ROW
    252:       PetscEnum MATOP_RESTORE_ROW
    253:       PetscEnum MATOP_MULT
    254:       PetscEnum MATOP_MULT_ADD
    255:       PetscEnum MATOP_MULT_TRANSPOSE
    256:       PetscEnum MATOP_MULT_TRANSPOSE_ADD
    257:       PetscEnum MATOP_SOLVE
    258:       PetscEnum MATOP_SOLVE_ADD
    259:       PetscEnum MATOP_SOLVE_TRANSPOSE
    260:       PetscEnum MATOP_SOLVE_TRANSPOSE_ADD
    261:       PetscEnum MATOP_LUFACTOR
    262:       PetscEnum MATOP_CHOLESKYFACTOR
    263:       PetscEnum MATOP_SOR
    264:       PetscEnum MATOP_TRANSPOSE
    265:       PetscEnum MATOP_GETINFO
    266:       PetscEnum MATOP_EQUAL
    267:       PetscEnum MATOP_GET_DIAGONAL
    268:       PetscEnum MATOP_DIAGONAL_SCALE
    269:       PetscEnum MATOP_NORM
    270:       PetscEnum MATOP_ASSEMBLY_BEGIN
    271:       PetscEnum MATOP_ASSEMBLY_END
    272:       PetscEnum MATOP_SET_OPTION
    273:       PetscEnum MATOP_ZERO_ENTRIES
    274:       PetscEnum MATOP_ZERO_ROWS
    275:       PetscEnum MATOP_LUFACTOR_SYMBOLIC
    276:       PetscEnum MATOP_LUFACTOR_NUMERIC
    277:       PetscEnum MATOP_CHOLESKY_FACTOR_SYMBOLIC
    278:       PetscEnum MATOP_CHOLESKY_FACTOR_NUMERIC
    279:       PetscEnum MATOP_SETUP_PREALLOCATION
    280:       PetscEnum MATOP_ILUFACTOR_SYMBOLIC
    281:       PetscEnum MATOP_ICCFACTOR_SYMBOLIC
    282:       PetscEnum MATOP_GET_DIAGONAL_BLOCK
    283: !     PetscEnum MATOP_PLACEHOLDER_33
    284:       PetscEnum MATOP_DUPLICATE
    285:       PetscEnum MATOP_FORWARD_SOLVE
    286:       PetscEnum MATOP_BACKWARD_SOLVE
    287:       PetscEnum MATOP_ILUFACTOR
    288:       PetscEnum MATOP_ICCFACTOR
    289:       PetscEnum MATOP_AXPY
    290:       PetscEnum MATOP_CREATE_SUBMATRICES
    291:       PetscEnum MATOP_INCREASE_OVERLAP
    292:       PetscEnum MATOP_GET_VALUES
    293:       PetscEnum MATOP_COPY
    294:       PetscEnum MATOP_GET_ROW_MAX
    295:       PetscEnum MATOP_SCALE
    296:       PetscEnum MATOP_SHIFT
    297:       PetscEnum MATOP_DIAGONAL_SET
    298:       PetscEnum MATOP_ZERO_ROWS_COLUMNS
    299:       PetscEnum MATOP_SET_RANDOM
    300:       PetscEnum MATOP_GET_ROW_IJ
    301:       PetscEnum MATOP_RESTORE_ROW_IJ
    302:       PetscEnum MATOP_GET_COLUMN_IJ
    303:       PetscEnum MATOP_RESTORE_COLUMN_IJ
    304:       PetscEnum MATOP_FDCOLORING_CREATE
    305:       PetscEnum MATOP_COLORING_PATCH
    306:       PetscEnum MATOP_SET_UNFACTORED
    307:       PetscEnum MATOP_PERMUTE
    308:       PetscEnum MATOP_SET_VALUES_BLOCKED
    309:       PetscEnum MATOP_CREATE_SUBMATRIX
    310:       PetscEnum MATOP_DESTROY
    311:       PetscEnum MATOP_VIEW
    312:       PetscEnum MATOP_CONVERT_FROM
    313:       PetscEnum MATOP_MATMAT_MULT
    314:       PetscEnum MATOP_MATMAT_MULT_SYMBOLIC
    315:       PetscEnum MATOP_MATMAT_MULT_NUMERIC
    316:       PetscEnum MATOP_SET_LOCAL_TO_GLOBAL_MAP
    317:       PetscEnum MATOP_SET_VALUES_LOCAL
    318:       PetscEnum MATOP_ZERO_ROWS_LOCAL
    319:       PetscEnum MATOP_GET_ROW_MAX_ABS
    320:       PetscEnum MATOP_GET_ROW_MIN_ABS
    321:       PetscEnum MATOP_CONVERT
    322:       PetscEnum MATOP_SET_COLORING
    323: !     PetscEnum MATOP_PLACEHOLDER_73
    324:       PetscEnum MATOP_SET_VALUES_ADIFOR
    325:       PetscEnum MATOP_FD_COLORING_APPLY
    326:       PetscEnum MATOP_SET_FROM_OPTIONS
    327:       PetscEnum MATOP_MULT_CONSTRAINED
    328:       PetscEnum MATOP_MULT_TRANSPOSE_CONSTRAIN
    329:       PetscEnum MATOP_FIND_ZERO_DIAGONALS
    330:       PetscEnum MATOP_MULT_MULTIPLE
    331:       PetscEnum MATOP_SOLVE_MULTIPLE
    332:       PetscEnum MATOP_GET_INERTIA
    333:       PetscEnum MATOP_LOAD
    334:       PetscEnum MATOP_IS_SYMMETRIC
    335:       PetscEnum MATOP_IS_HERMITIAN
    336:       PetscEnum MATOP_IS_STRUCTURALLY_SYMMETRIC
    337:       PetscEnum MATOP_SET_VALUES_BLOCKEDLOCAL
    338:       PetscEnum MATOP_CREATE_VECS
    339:       PetscEnum MATOP_MAT_MULT
    340:       PetscEnum MATOP_MAT_MULT_SYMBOLIC
    341:       PetscEnum MATOP_MAT_MULT_NUMERIC
    342:       PetscEnum MATOP_PTAP
    343:       PetscEnum MATOP_PTAP_SYMBOLIC
    344:       PetscEnum MATOP_PTAP_NUMERIC
    345:       PetscEnum MATOP_MAT_TRANSPOSE_MULT
    346:       PetscEnum MATOP_MAT_TRANSPOSE_MULT_SYMBO
    347:       PetscEnum MATOP_MAT_TRANSPOSE_MULT_NUMER
    348: !     PetscEnum MATOP_PLACEHOLDER_98
    349: !     PetscEnum MATOP_PLACEHOLDER_99
    350: !     PetscEnum MATOP_PLACEHOLDER_100
    351: !     PetscEnum MATOP_PLACEHOLDER_101
    352:       PetscEnum MATOP_CONJUGATE
    353: !     PetscEnum MATOP_PLACEHOLDER_103
    354:       PetscEnum MATOP_SET_VALUES_ROW
    355:       PetscEnum MATOP_REAL_PART
    356:       PetscEnum MATOP_IMAGINARY_PART
    357:       PetscEnum MATOP_GET_ROW_UPPER_TRIANGULAR
    358:       PetscEnum MATOP_RESTORE_ROW_UPPER_TRIANG
    359:       PetscEnum MATOP_MAT_SOLVE
    360:       PetscEnum MATOP_MAT_SOLVE_TRANSPOSE
    361:       PetscEnum MATOP_GET_ROW_MIN
    362:       PetscEnum MATOP_GET_COLUMN_VECTOR
    363:       PetscEnum MATOP_MISSING_DIAGONAL
    364:       PetscEnum MATOP_GET_SEQ_NONZERO_STRUCTUR
    365:       PetscEnum MATOP_CREATE
    366:       PetscEnum MATOP_GET_GHOSTS
    367:       PetscEnum MATOP_GET_LOCAL_SUB_MATRIX
    368:       PetscEnum MATOP_RESTORE_LOCALSUB_MATRIX
    369:       PetscEnum MATOP_MULT_DIAGONAL_BLOCK
    370:       PetscEnum MATOP_HERMITIAN_TRANSPOSE
    371:       PetscEnum MATOP_MULT_HERMITIAN_TRANSPOSE
    372:       PetscEnum MATOP_MULT_HERMITIAN_TRANS_ADD
    373:       PetscEnum MATOP_GET_MULTI_PROC_BLOCK
    374:       PetscEnum MATOP_FIND_NONZERO_ROWS
    375:       PetscEnum MATOP_GET_COLUMN_NORMS
    376:       PetscEnum MATOP_INVERT_BLOCK_DIAGONAL
    377: !     PetscEnum MATOP_PLACEHOLDER_127
    378:       PetscEnum MATOP_CREATE_SUB_MATRICES_MPI
    379:       PetscEnum MATOP_SET_VALUES_BATCH
    380:       PetscEnum MATOP_TRANSPOSE_MAT_MULT
    381:       PetscEnum MATOP_TRANSPOSE_MAT_MULT_SYMBO
    382:       PetscEnum MATOP_TRANSPOSE_MAT_MULT_NUMER
    383:       PetscEnum MATOP_TRANSPOSE_COLORING_CREAT
    384:       PetscEnum MATOP_TRANS_COLORING_APPLY_SPT
    385:       PetscEnum MATOP_TRANS_COLORING_APPLY_DEN
    386:       PetscEnum MATOP_RART
    387:       PetscEnum MATOP_RART_SYMBOLIC
    388:       PetscEnum MATOP_RART_NUMERIC
    389:       PetscEnum MATOP_SET_BLOCK_SIZES
    390:       PetscEnum MATOP_AYPX
    391:       PetscEnum MATOP_RESIDUAL
    392:       PetscEnum MATOP_FDCOLORING_SETUP
    393:       PetscEnum MATOP_MPICONCATENATESEQ

    395:       parameter(MATOP_SET_VALUES=0)
    396:       parameter(MATOP_GET_ROW=1)
    397:       parameter(MATOP_RESTORE_ROW=2)
    398:       parameter(MATOP_MULT=3)
    399:       parameter(MATOP_MULT_ADD=4)
    400:       parameter(MATOP_MULT_TRANSPOSE=5)
    401:       parameter(MATOP_MULT_TRANSPOSE_ADD=6)
    402:       parameter(MATOP_SOLVE=7)
    403:       parameter(MATOP_SOLVE_ADD=8)
    404:       parameter(MATOP_SOLVE_TRANSPOSE=9)
    405:       parameter(MATOP_SOLVE_TRANSPOSE_ADD=10)
    406:       parameter(MATOP_LUFACTOR=11)
    407:       parameter(MATOP_CHOLESKYFACTOR=12)
    408:       parameter(MATOP_SOR=13)
    409:       parameter(MATOP_TRANSPOSE=14)
    410:       parameter(MATOP_GETINFO=15)
    411:       parameter(MATOP_EQUAL=16)
    412:       parameter(MATOP_GET_DIAGONAL=17)
    413:       parameter(MATOP_DIAGONAL_SCALE=18)
    414:       parameter(MATOP_NORM=19)
    415:       parameter(MATOP_ASSEMBLY_BEGIN=20)
    416:       parameter(MATOP_ASSEMBLY_END=21)
    417:       parameter(MATOP_SET_OPTION=22)
    418:       parameter(MATOP_ZERO_ENTRIES=23)
    419:       parameter(MATOP_ZERO_ROWS=24)
    420:       parameter(MATOP_LUFACTOR_SYMBOLIC=25)
    421:       parameter(MATOP_LUFACTOR_NUMERIC=26)
    422:       parameter(MATOP_CHOLESKY_FACTOR_SYMBOLIC=27)
    423:       parameter(MATOP_CHOLESKY_FACTOR_NUMERIC=28)
    424:       parameter(MATOP_SETUP_PREALLOCATION=29)
    425:       parameter(MATOP_ILUFACTOR_SYMBOLIC=30)
    426:       parameter(MATOP_ICCFACTOR_SYMBOLIC=31)
    427:       parameter(MATOP_GET_DIAGONAL_BLOCK=32)
    428: !     parameter(MATOP_PLACEHOLDER_33=33)
    429:       parameter(MATOP_DUPLICATE=34)
    430:       parameter(MATOP_FORWARD_SOLVE=35)
    431:       parameter(MATOP_BACKWARD_SOLVE=36)
    432:       parameter(MATOP_ILUFACTOR=37)
    433:       parameter(MATOP_ICCFACTOR=38)
    434:       parameter(MATOP_AXPY=39)
    435:       parameter(MATOP_CREATE_SUBMATRICES=40)
    436:       parameter(MATOP_INCREASE_OVERLAP=41)
    437:       parameter(MATOP_GET_VALUES=42)
    438:       parameter(MATOP_COPY=43)
    439:       parameter(MATOP_GET_ROW_MAX=44)
    440:       parameter(MATOP_SCALE=45)
    441:       parameter(MATOP_SHIFT=46)
    442:       parameter(MATOP_DIAGONAL_SET=47)
    443:       parameter(MATOP_ZERO_ROWS_COLUMNS=48)
    444:       parameter(MATOP_SET_RANDOM=49)
    445:       parameter(MATOP_GET_ROW_IJ=50)
    446:       parameter(MATOP_RESTORE_ROW_IJ=51)
    447:       parameter(MATOP_GET_COLUMN_IJ=52)
    448:       parameter(MATOP_RESTORE_COLUMN_IJ=53)
    449:       parameter(MATOP_FDCOLORING_CREATE=54)
    450:       parameter(MATOP_COLORING_PATCH=55)
    451:       parameter(MATOP_SET_UNFACTORED=56)
    452:       parameter(MATOP_PERMUTE=57)
    453:       parameter(MATOP_SET_VALUES_BLOCKED=58)
    454:       parameter(MATOP_CREATE_SUBMATRIX=59)
    455:       parameter(MATOP_DESTROY=60)
    456:       parameter(MATOP_VIEW=61)
    457:       parameter(MATOP_CONVERT_FROM=62)
    458:       parameter(MATOP_MATMAT_MULT=63)
    459:       parameter(MATOP_MATMAT_MULT_SYMBOLIC=64)
    460:       parameter(MATOP_MATMAT_MULT_NUMERIC=65)
    461:       parameter(MATOP_SET_LOCAL_TO_GLOBAL_MAP=66)
    462:       parameter(MATOP_SET_VALUES_LOCAL=67)
    463:       parameter(MATOP_ZERO_ROWS_LOCAL=68)
    464:       parameter(MATOP_GET_ROW_MAX_ABS=69)
    465:       parameter(MATOP_GET_ROW_MIN_ABS=70)
    466:       parameter(MATOP_CONVERT=71)
    467:       parameter(MATOP_SET_COLORING=72)
    468: !     parameter(MATOP_PLACEHOLDER_73=73)
    469:       parameter(MATOP_SET_VALUES_ADIFOR=74)
    470:       parameter(MATOP_FD_COLORING_APPLY=75)
    471:       parameter(MATOP_SET_FROM_OPTIONS=76)
    472:       parameter(MATOP_MULT_CONSTRAINED=77)
    473:       parameter(MATOP_MULT_TRANSPOSE_CONSTRAIN=78)
    474:       parameter(MATOP_FIND_ZERO_DIAGONALS=79)
    475:       parameter(MATOP_MULT_MULTIPLE=80)
    476:       parameter(MATOP_SOLVE_MULTIPLE=81)
    477:       parameter(MATOP_GET_INERTIA=82)
    478:       parameter(MATOP_LOAD=83)
    479:       parameter(MATOP_IS_SYMMETRIC=84)
    480:       parameter(MATOP_IS_HERMITIAN=85)
    481:       parameter(MATOP_IS_STRUCTURALLY_SYMMETRIC=86)
    482:       parameter(MATOP_SET_VALUES_BLOCKEDLOCAL=87)
    483:       parameter(MATOP_CREATE_VECS=88)
    484:       parameter(MATOP_MAT_MULT=89)
    485:       parameter(MATOP_MAT_MULT_SYMBOLIC=90)
    486:       parameter(MATOP_MAT_MULT_NUMERIC=91)
    487:       parameter(MATOP_PTAP=92)
    488:       parameter(MATOP_PTAP_SYMBOLIC=93)
    489:       parameter(MATOP_PTAP_NUMERIC=94)
    490:       parameter(MATOP_MAT_TRANSPOSE_MULT=95)
    491:       parameter(MATOP_MAT_TRANSPOSE_MULT_SYMBO=96)
    492:       parameter(MATOP_MAT_TRANSPOSE_MULT_NUMER=97)
    493: !     parameter(MATOP_PLACEHOLDER_98=98)
    494: !     parameter(MATOP_PLACEHOLDER_99=99)
    495: !     parameter(MATOP_PLACEHOLDER_100=100)
    496: !     parameter(MATOP_PLACEHOLDER_101=101)
    497:       parameter(MATOP_CONJUGATE=102)
    498: !     parameter(MATOP_PLACEHOLDER_103=103)
    499:       parameter(MATOP_SET_VALUES_ROW=104)
    500:       parameter(MATOP_REAL_PART=105)
    501:       parameter(MATOP_IMAGINARY_PART=106)
    502:       parameter(MATOP_GET_ROW_UPPER_TRIANGULAR=107)
    503:       parameter(MATOP_RESTORE_ROW_UPPER_TRIANG=108)
    504:       parameter(MATOP_MAT_SOLVE=109)
    505:       parameter(MATOP_MAT_SOLVE_TRANSPOSE=110)
    506:       parameter(MATOP_GET_ROW_MIN=111)
    507:       parameter(MATOP_GET_COLUMN_VECTOR=112)
    508:       parameter(MATOP_MISSING_DIAGONAL=113)
    509:       parameter(MATOP_GET_SEQ_NONZERO_STRUCTUR=114)
    510:       parameter(MATOP_CREATE=115)
    511:       parameter(MATOP_GET_GHOSTS=116)
    512:       parameter(MATOP_GET_LOCAL_SUB_MATRIX=117)
    513:       parameter(MATOP_RESTORE_LOCALSUB_MATRIX=118)
    514:       parameter(MATOP_MULT_DIAGONAL_BLOCK=119)
    515:       parameter(MATOP_HERMITIAN_TRANSPOSE=120)
    516:       parameter(MATOP_MULT_HERMITIAN_TRANSPOSE=121)
    517:       parameter(MATOP_MULT_HERMITIAN_TRANS_ADD=122)
    518:       parameter(MATOP_GET_MULTI_PROC_BLOCK=123)
    519:       parameter(MATOP_FIND_NONZERO_ROWS=124)
    520:       parameter(MATOP_GET_COLUMN_NORMS=125)
    521:       parameter(MATOP_INVERT_BLOCK_DIAGONAL=126)
    522: !     parameter(MATOP_PLACEHOLDER_127=127)
    523:       parameter(MATOP_CREATE_SUB_MATRICES_MPI=128)
    524:       parameter(MATOP_SET_VALUES_BATCH=129)
    525:       parameter(MATOP_TRANSPOSE_MAT_MULT=130)
    526:       parameter(MATOP_TRANSPOSE_MAT_MULT_SYMBO=131)
    527:       parameter(MATOP_TRANSPOSE_MAT_MULT_NUMER=132)
    528:       parameter(MATOP_TRANSPOSE_COLORING_CREAT=133)
    529:       parameter(MATOP_TRANS_COLORING_APPLY_SPT=134)
    530:       parameter(MATOP_TRANS_COLORING_APPLY_DEN=135)
    531:       parameter(MATOP_RART=136)
    532:       parameter(MATOP_RART_SYMBOLIC=137)
    533:       parameter(MATOP_RART_NUMERIC=138)
    534:       parameter(MATOP_SET_BLOCK_SIZES=139)
    535:       parameter(MATOP_AYPX=140)
    536:       parameter(MATOP_RESIDUAL=141)
    537:       parameter(MATOP_FDCOLORING_SETUP=142)
    538:       parameter(MATOP_MPICONCATENATESEQ=144)
    539: !
    540: !
    541: !
    542:       PetscEnum MATRIX_BINARY_FORMAT_DENSE
    543:       parameter (MATRIX_BINARY_FORMAT_DENSE=-1)
    544: !
    545: ! MPChacoGlobalType
    546:       PetscEnum MP_CHACO_MULTILEVEL_KL
    547:       PetscEnum MP_CHACO_SPECTRAL
    548:       PetscEnum MP_CHACO_LINEAR
    549:       PetscEnum MP_CHACO_RANDOM
    550:       PetscEnum MP_CHACO_SCATTERED
    551:       parameter (MP_CHACO_MULTILEVEL_KL=0,MP_CHACO_SPECTRAL=1)
    552:       parameter (MP_CHACO_LINEAR=2,MP_CHACO_RANDOM=3)
    553:       parameter (MP_CHACO_SCATTERED=4)
    554: !
    555: ! MPChacoLocalType
    556:       PetscEnum MP_CHACO_KERNIGHAN_LIN
    557:       PetscEnum MP_CHACO_NONE
    558:       parameter (MP_CHACO_KERNIGHAN_LIN=0, MP_CHACO_NONE=1)
    559: !
    560: ! MPChacoEigenType
    561:       PetscEnum MP_CHACO_LANCZOS
    562:       PetscEnum MP_CHACO_RQI_SYMMLQ
    563:       parameter (MP_CHACO_LANCZOS=0, MP_CHACO_RQI_SYMMLQ=1)
    564: !
    565: ! MPPTScotchStrategyType
    566:       PetscEnum MP_PTSCOTCH_QUALITY
    567:       PetscEnum MP_PTSCOTCH_SPEED
    568:       PetscEnum MP_PTSCOTCH_BALANCE
    569:       PetscEnum MP_PTSCOTCH_SAFETY
    570:       PetscEnum MP_PTSCOTCH_SCALABILITY
    571:       parameter (MP_PTSCOTCH_QUALITY = 0)
    572:       parameter (MP_PTSCOTCH_SPEED = 1)
    573:       parameter (MP_PTSCOTCH_BALANCE = 2)
    574:       parameter (MP_PTSCOTCH_SAFETY = 3)
    575:       parameter (MP_PTSCOTCH_SCALABILITY = 4)

    577: ! PetscScalarPrecision
    578:       PetscEnum PETSC_SCALAR_DOUBLE
    579:       PetscEnum PETSC_SCALAR_SINGLE
    580:       PetscEnum PETSC_SCALAR_LONG_DOUBLE
    581:       parameter (PETSC_SCALAR_DOUBLE=0,PETSC_SCALAR_SINGLE=1)
    582:       parameter (PETSC_SCALAR_LONG_DOUBLE=2)

    585: !
    586: !     CUSPARSE enumerated types
    587: !
    588: #if defined(PETSC_HAVE_CUDA)
    589:       PetscEnum MAT_CUSPARSE_CSR
    590:       PetscEnum MAT_CUSPARSE_ELL
    591:       PetscEnum MAT_CUSPARSE_HYB
    592:       parameter(MAT_CUSPARSE_CSR=0,MAT_CUSPARSE_ELL=1)
    593:       parameter(MAT_CUSPARSE_HYB=2)
    594:       PetscEnum MAT_CUSPARSE_MULT_DIAG
    595:       PetscEnum MAT_CUSPARSE_MULT_OFFDIAG
    596:       PetscEnum MAT_CUSPARSE_MULT
    597:       PetscEnum MAT_CUSPARSE_ALL
    598:       parameter(MAT_CUSPARSE_MULT_DIAG=0)
    599:       parameter(MAT_CUSPARSE_MULT_OFFDIAG=1)
    600:       parameter(MAT_CUSPARSE_MULT=2)
    601:       parameter(MAT_CUSPARSE_ALL=3)
    602: #endif
    603: !
    604: !  End of Fortran include file for the Mat package in PETSc
    605: !
    606: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
    607: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_MAT
    608: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_MATFDCOLORING
    609: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_MATNULLSPACE
    610: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FLUSH_ASSEMBLY
    611: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FINAL_ASSEMBLY
    612: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_NONE
    613: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_LU
    614: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_CHOLESKY
    615: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_ILU
    616: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_ICC
    617: !DEC$ ATTRIBUTES DLLEXPORT::MAT_DO_NOT_GET_VALUES
    618: !DEC$ ATTRIBUTES DLLEXPORT::MAT_GET_VALUES
    619: !DEC$ ATTRIBUTES DLLEXPORT::MAT_OPTION_MIN
    620: !DEC$ ATTRIBUTES DLLEXPORT::MAT_UNUSED_NONZERO_LOCATION_ERR
    621: !DEC$ ATTRIBUTES DLLEXPORT::MAT_ROW_ORIENTED
    622: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SYMMETRIC
    623: !DEC$ ATTRIBUTES DLLEXPORT::MAT_STRUCTURALLY_SYMMETRIC
    624: !DEC$ ATTRIBUTES DLLEXPORT::MAT_NEW_DIAGONALS
    625: !DEC$ ATTRIBUTES DLLEXPORT::MAT_IGNORE_OFF_PROC_ENTRIES
    626: !DEC$ ATTRIBUTES DLLEXPORT::MAT_USE_HASH_TABLE
    627: !DEC$ ATTRIBUTES DLLEXPORT::MAT_KEEP_NONZERO_PATTERN
    628: !DEC$ ATTRIBUTES DLLEXPORT::MAT_IGNORE_ZERO_ENTRIES
    629: !DEC$ ATTRIBUTES DLLEXPORT::MAT_USE_INODES
    630: !DEC$ ATTRIBUTES DLLEXPORT::MAT_HERMITIAN
    631: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SYMMETRY_ETERNAL
    632: !DEC$ ATTRIBUTES DLLEXPORT::MAT_NEW_NONZERO_LOCATION_ERR
    633: !DEC$ ATTRIBUTES DLLEXPORT::MAT_IGNORE_LOWER_TRIANGULAR
    634: !DEC$ ATTRIBUTES DLLEXPORT::MAT_ERROR_LOWER_TRIANGULAR
    635: !DEC$ ATTRIBUTES DLLEXPORT::MAT_GETROW_UPPERTRIANGULAR
    636: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SPD
    637: !DEC$ ATTRIBUTES DLLEXPORT::MAT_NO_OFF_PROC_ZERO_ROWS
    638: !DEC$ ATTRIBUTES DLLEXPORT::MAT_NO_OFF_PROC_ENTRIES
    639: !DEC$ ATTRIBUTES DLLEXPORT::MAT_NEW_NONZERO_LOCATIONS
    640: !DEC$ ATTRIBUTES DLLEXPORT::MAT_NEW_NONZERO_ALLOCATION_ERR
    641: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SUBSET_OFF_PROC_ENTRIES
    642: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SUBMAT_SINGLEIS
    643: !DEC$ ATTRIBUTES DLLEXPORT::MAT_STRUCTURE_ONLY
    644: !DEC$ ATTRIBUTES DLLEXPORT::MAT_OPTION_MAX
    645: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SHIFT_NONE
    646: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SHIFT_NONZERO
    647: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SHIFT_POSITIVE_DEFINITE
    648: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SHIFT_INBLOCKS
    649: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_NOERROR
    650: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_STRUCT_ZEROPIVOT
    651: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_NUMERIC_ZEROPIVOT
    652: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_OUTMEMORY
    653: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_OTHER
    654: !DEC$ ATTRIBUTES DLLEXPORT::MAT_DO_NOT_COPY_VALUES
    655: !DEC$ ATTRIBUTES DLLEXPORT::MAT_COPY_VALUES
    656: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SHARE_NONZERO_PATTERN
    657: !DEC$ ATTRIBUTES DLLEXPORT::DIFFERENT_NONZERO_PATTERN
    658: !DEC$ ATTRIBUTES DLLEXPORT::SUBSET_NONZERO_PATTERN
    659: !DEC$ ATTRIBUTES DLLEXPORT::SAME_NONZERO_PATTERN
    660: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_BLOCK_SIZE
    661: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_NZ_ALLOCATED
    662: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_NZ_USED
    663: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_NZ_UNNEEDED
    664: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_MEMORY
    665: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_ASSEMBLIES
    666: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_MALLOCS
    667: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_FILL_RATIO_GIVEN
    668: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_FILL_RATIO_NEEDED
    669: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_FACTOR_MALLOCS
    670: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INITIAL_MATRIX
    671: !DEC$ ATTRIBUTES DLLEXPORT::MAT_REUSE_MATRIX
    672: !DEC$ ATTRIBUTES DLLEXPORT::MAT_IGNORE_MATRIX
    673: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INPLACE_MATRIX
    674: !DEC$ ATTRIBUTES DLLEXPORT::MAT_LOCAL
    675: !DEC$ ATTRIBUTES DLLEXPORT::MAT_GLOBAL_MAX
    676: !DEC$ ATTRIBUTES DLLEXPORT::MAT_GLOBAL_SUM
    677: !DEC$ ATTRIBUTES DLLEXPORT::MAT_COMPOSITE_ADDITIVE
    678: !DEC$ ATTRIBUTES DLLEXPORT::MAT_COMPOSITE_MULTIPLICATIVE
    679: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_DIAGONAL_FILL
    680: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_USEDT
    681: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_DT
    682: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_DTCOL
    683: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_DTCOUNT
    684: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_FILL
    685: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_LEVELS
    686: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_PIVOT_IN_BLOCKS
    687: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_ZERO_PIVOT
    688: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_SHIFT_TYPE
    689: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_SHIFT_AMOUNT
    690: !DEC$ ATTRIBUTES DLLEXPORT::SOR_FORWARD_SWEEP
    691: !DEC$ ATTRIBUTES DLLEXPORT::SOR_BACKWARD_SWEEP
    692: !DEC$ ATTRIBUTES DLLEXPORT::SOR_SYMMETRIC_SWEEP
    693: !DEC$ ATTRIBUTES DLLEXPORT::SOR_LOCAL_FORWARD_SWEEP
    694: !DEC$ ATTRIBUTES DLLEXPORT::SOR_LOCAL_BACKWARD_SWEEP
    695: !DEC$ ATTRIBUTES DLLEXPORT::SOR_LOCAL_SYMMETRIC_SWEEP
    696: !DEC$ ATTRIBUTES DLLEXPORT::SOR_ZERO_INITIAL_GUESS
    697: !DEC$ ATTRIBUTES DLLEXPORT::SOR_EISENSTAT
    698: !DEC$ ATTRIBUTES DLLEXPORT::SOR_APPLY_UPPER
    699: !DEC$ ATTRIBUTES DLLEXPORT::SOR_APPLY_LOWER
    700: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_VALUES
    701: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_ROWMATOP_RESTORE_ROW
    702: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT
    703: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_ADD
    704: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_TRANSPOSE
    705: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_TRANSPOSE_ADD
    706: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SOLVE
    707: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SOLVE_ADD
    708: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SOLVE_TRANSPOSE
    709: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SOLVE_TRANSPOSE_ADD
    710: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_LUFACTOR
    711: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CHOLESKYFACTOR
    712: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SOR
    713: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANSPOSE
    714: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GETINFO
    715: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_EQUAL
    716: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_DIAGONAL
    717: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_DIAGONAL_SCALE
    718: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_NORM
    719: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ASSEMBLY_BEGIN
    720: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ASSEMBLY_END
    721: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_OPTION
    722: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ZERO_ENTRIES
    723: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ZERO_ROWS
    724: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_LUFACTOR_SYMBOLIC
    725: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_LUFACTOR_NUMERIC
    726: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CHOLESKY_FACTOR_SYMBOLIC
    727: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CHOLESKY_FACTOR_NUMERIC
    728: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SETUP_PREALLOCATION
    729: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ILUFACTOR_SYMBOLIC
    730: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ICCFACTOR_SYMBOLIC
    731: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_DIAGONAL_BLOCK
    732: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_DUPLICATE
    733: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_FORWARD_SOLVE
    734: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_BACKWARD_SOLVE
    735: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ILUFACTOR
    736: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ICCFACTOR
    737: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_AXPY
    738: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CREATE_SUBMATRICES
    739: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_INCREASE_OVERLAP
    740: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_VALUES
    741: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_COPY
    742: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_ROW_MAX
    743: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SCALE
    744: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SHIFT
    745: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_DIAGONAL_SET
    746: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ZERO_ROWS_COLUMNS
    747: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_RANDOM
    748: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_ROW_IJ
    749: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RESTORE_ROW_IJ
    750: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_COLUMN_IJ
    751: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RESTORE_COLUMN_IJ
    752: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_FDCOLORING_CREATE
    753: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_COLORING_PATCH
    754: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_UNFACTORED
    755: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_PERMUTE
    756: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_VALUES_BLOCKED
    757: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CREATE_SUBMATRIX
    758: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_DESTROY
    759: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_VIEW
    760: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CONVERT_FROM
    761: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MATMAT_MULT
    762: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MATMAT_MULT_SYMBOLIC
    763: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MATMAT_MULT_NUMERIC
    764: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_LOCAL_TO_GLOBAL_MAP
    765: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_VALUES_LOCAL
    766: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ZERO_ROWS_LOCAL
    767: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_ROW_MAX_ABS
    768: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_ROW_MIN_ABS
    769: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CONVERT
    770: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_COLORING
    771: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_VALUES_ADIFOR
    772: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_FD_COLORING_APPLY
    773: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_FROM_OPTIONS
    774: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_CONSTRAINED
    775: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_TRANSPOSE_CONSTRAIN
    776: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_FIND_ZERO_DIAGONALS
    777: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_MULTIPLE
    778: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SOLVE_MULTIPLE
    779: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_INERTIA
    780: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_LOAD
    781: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_IS_SYMMETRIC
    782: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_IS_HERMITIAN
    783: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_IS_STRUCTURALLY_SYMMETRIC
    784: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_VALUES_BLOCKEDLOCAL
    785: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CREATE_VECS
    786: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_MULT
    787: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_MULT_SYMBOLIC
    788: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_MULT_NUMERIC
    789: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_PTAP
    790: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_PTAP_SYMBOLIC
    791: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_PTAP_NUMERIC
    792: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_TRANSPOSE_MULT
    793: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_TRANSPOSE_MULT_SYMBO
    794: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_TRANSPOSE_MULT_NUMER
    795: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CONJUGATE
    796: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_VALUES_ROW
    797: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_REAL_PART
    798: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_IMAGINARY_PART
    799: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_ROW_UPPER_TRIANGULAR
    800: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RESTORE_ROW_UPPER_TRIANG
    801: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_SOLVE
    802: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_SOLVE_TRANSPOSE
    803: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_ROW_MIN
    804: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_COLUMN_VECTOR
    805: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MISSING_DIAGONAL
    806: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_SEQ_NONZERO_STRUCTUR
    807: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CREATE
    808: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_GHOSTS
    809: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_LOCAL_SUB_MATRIX
    810: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RESTORE_LOCALSUB_MATRIX
    811: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_DIAGONAL_BLOCK
    812: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_HERMITIAN_TRANSPOSE
    813: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_HERMITIAN_TRANSPOSE
    814: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_HERMITIAN_TRANS_ADD
    815: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_MULTI_PROC_BLOCK
    816: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_FIND_NONZERO_ROWS
    817: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_COLUMN_NORMS
    818: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_INVERT_BLOCK_DIAGONAL
    819: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CREATE_SUB_MATRICES_MPI
    820: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_VALUES_BATCH
    821: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANSPOSE_MAT_MULT
    822: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANSPOSE_MAT_MULT_SYMBO
    823: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANSPOSE_MAT_MULT_NUMER
    824: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANSPOSE_COLORING_CREAT
    825: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANS_COLORING_APPLY_SPT
    826: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANS_COLORING_APPLY_DEN
    827: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RART
    828: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RART_SYMBOLIC
    829: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RART_NUMERIC
    830: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_BLOCK_SIZES
    831: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_AYPX
    832: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RESIDUAL
    833: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_FDCOLORING_SETUP
    834: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MPICONCATENATESEQ
    835: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_MULTILEVEL_KL
    836: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_SPECTRAL
    837: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_LINEAR
    838: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_RANDOM
    839: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_SCATTERED
    840: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_KERNIGHAN_LIN
    841: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_NONE
    842: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_LANCZOS
    843: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_RQI_SYMMLQ
    844: !DEC$ ATTRIBUTES DLLEXPORT::MP_PTSCOTCH_QUALITY
    845: !DEC$ ATTRIBUTES DLLEXPORT::MP_PTSCOTCH_SPEED
    846: !DEC$ ATTRIBUTES DLLEXPORT::MP_PTSCOTCH_BALANCE
    847: !DEC$ ATTRIBUTES DLLEXPORT::MP_PTSCOTCH_SAFETY
    848: !DEC$ ATTRIBUTES DLLEXPORT::MP_PTSCOTCH_SCALABILITY
    849: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_SCALAR_DOUBLE
    850: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_SCALAR_SINGLE
    851: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_SCALAR_LONG_DOUBLE
    852: #if defined(PETSC_HAVE_CUDA)
    853: !DEC$ ATTRIBUTES DLLEXPORT::MAT_CUSPARSE_CSR
    854: !DEC$ ATTRIBUTES DLLEXPORT::MAT_CUSPARSE_ELL
    855: !DEC$ ATTRIBUTES DLLEXPORT::MAT_CUSPARSE_HYB
    856: !DEC$ ATTRIBUTES DLLEXPORT::
    857: !DEC$ ATTRIBUTES DLLEXPORT::MAT_CUSPARSE_MULT_DIAG
    858: !DEC$ ATTRIBUTES DLLEXPORT::MAT_CUSPARSE_MULT_OFFDIAG
    859: !DEC$ ATTRIBUTES DLLEXPORT::MAT_CUSPARSE_MULT
    860: !DEC$ ATTRIBUTES DLLEXPORT::MAT_CUSPARSE_ALL
    861: #endif
    862: #endif