Actual source code: petscmat.h

  1: !
  2: !
  3: !  Include file for Fortran use of the Mat package in PETSc
  4: !
  5: #if !defined (__PETSCMAT_H)

  8: #define Mat PetscFortranAddr
  9: #define MatFDColoring PetscFortranAddr
 10: #define MatPartitioning PetscFortranAddr
 11: #define MatAIJIndices PetscFortranAddr
 12: #define MatType character*(80)
 13: #define MatOption PetscEnum
 14: #define MatAssemblyType PetscEnum
 15: #define MatOrderingType character*(80)
 16: #define MatSORType PetscEnum
 17: #define MatInfoType PetscEnum
 18: #define MatReuse PetscEnum
 19: #define MatOperation PetscEnum
 20: #define MatColoringType character*(80)
 21: #define MatInfo PetscLogDouble
 22: #define MatFactorInfo PetscReal
 23: #define MatDuplicateOption PetscEnum
 24: #define MatStructure PetscEnum
 25: #define MatPartitioningType character*(80)
 26: #define MatNullSpace PetscFortranAddr

 28: #define MatStencil PetscInt
 29: #define MatStencil_k 1
 30: #define MatStencil_j 2
 31: #define MatStencil_i 3
 32: #define MatStencil_c 4

 34: #define MATPARTITIONING_CURRENT 'current'
 35: #define MATPARTITIONING_PARMETIS 'parmetis'

 37: #define MATCOLORING_NATURAL 'natural'
 38: #define MATCOLORING_SL 'sl'
 39: #define MATCOLORING_LF 'lf'
 40: #define MATCOLORING_ID 'id'

 42: #define MATORDERING_NATURAL 'natural'
 43: #define MATORDERING_ND 'nd'
 44: #define MATORDERING_1WD '1wd'
 45: #define MATORDERING_RCM 'rcm'
 46: #define MATORDERING_QMD 'qmd'
 47: #define MATORDERING_ROWLENGTH 'rowlength'
 48: #define MATORDERING_DSC_ND 'dsc_nd'
 49: #define MATORDERING_DSC_MMD 'dsc_mmd'
 50: #define MATORDERING_DSC_MDF 'dsc_mdf'

 52: #endif

 54: !
 55: !  Matrix types
 56: !
 57: #define MATSAME            'same'
 58: #define MATSEQMAIJ         'seqmaij'
 59: #define MATMPIMAIJ         'mpimaij'
 60: #define MATMAIJ            'maij'
 61: #define MATIS              'is'
 62: #define MATMPIROWBS        'mpirowbs'
 63: #define MATSEQAIJ          'seqaij'
 64: #define MATMPIAIJ          'mpiaij'
 65: #define MATAIJ             'aij'
 66: #define MATSHELL           'shell'
 67: #define MATSEQBDIAG        'seqbdiag'
 68: #define MATMPIBDIAG        'mpibdiag'
 69: #define MATBDIAG           'bdiag'
 70: #define MATSEQDENSE        'seqdense'
 71: #define MATMPIDENSE        'mpidense'
 72: #define MATDENSE           'dense'
 73: #define MATSEQBAIJ         'seqbaij'
 74: #define MATMPIBAIJ         'mpibaij'
 75: #define MATBAIJ            'baij'
 76: #define MATMPIADJ          'mpiadj'
 77: #define MATSEQSBAIJ        'seqsbaij'
 78: #define MATMPISBAIJ        'mpisbaij'
 79: #define MATSBAIJ           'sbaij'
 80: #define MATDAAD            'daad'
 81: #define MATMFFD            'mffd'
 82: #define MATESI             'esi'
 83: #define MATPETSCESI        'petscesi'
 84: #define MATNORMAL          'normal'
 85: #define MATSEQAIJSPOOLES   'seqaijspooles'
 86: #define MATMPIAIJSPOOLES   'mpiaijspooles'
 87: #define MATSEQSBAIJSPOOLES 'seqsbaijspooles'
 88: #define MATMPISBAIJSPOOLES 'mpisbaijspooles'
 89: #define MATSUPERLU         'superlu'
 90: #define MATSUPERLU_DIST    'superlu_dist'
 91: #define MATUMFPACK         'umfpack'
 92: #define MATESSL            'essl'
 93: #define MATLUSOL           'lusol'
 94: #define MATAIJMUMPS        'aijmumps'
 95: #define MATSBAIJMUMPS      'sbaijmumps'
 96: #define MATDSCPACK         'dscpack'
 97: #define MATMATLAB          'matlab'

 99: #if !defined (PETSC_AVOID_DECLARATIONS)

101: !
102: !  Flag for matrix assembly
103: !
104:       PetscEnum MAT_FLUSH_ASSEMBLY
105:       PetscEnum MAT_FINAL_ASSEMBLY

107:       parameter(MAT_FLUSH_ASSEMBLY=1,MAT_FINAL_ASSEMBLY=0)
108: !
109: !  Matrix options; must match those in include/petscmat.h
110: !
111:       PetscEnum MAT_ROW_ORIENTED
112:       PetscEnum MAT_COLUMN_ORIENTED
113:       PetscEnum MAT_ROWS_SORTED
114:       PetscEnum MAT_COLUMNS_SORTED
115:       PetscEnum MAT_NO_NEW_NONZERO_LOCATIONS
116:       PetscEnum MAT_YES_NEW_NONZERO_LOCATIONS
117:       PetscEnum MAT_SYMMETRIC
118:       PetscEnum MAT_STRUCTURALLY_SYMMETRIC
119:       PetscEnum MAT_NO_NEW_DIAGONALS
120:       PetscEnum MAT_YES_NEW_DIAGONALS
121:       PetscEnum MAT_INODE_LIMIT_1
122:       PetscEnum MAT_INODE_LIMIT_2
123:       PetscEnum MAT_INODE_LIMIT_3
124:       PetscEnum MAT_INODE_LIMIT_4
125:       PetscEnum MAT_INODE_LIMIT_5
126:       PetscEnum MAT_IGNORE_OFF_PROC_ENTRIES
127:       PetscEnum MAT_ROWS_UNSORTED
128:       PetscEnum MAT_COLUMNS_UNSORTED
129:       PetscEnum MAT_NEW_NONZERO_LOCATION_ERR
130:       PetscEnum MAT_NEW_NONZERO_ALLOCATION_ERR
131:       PetscEnum MAT_USE_HASH_TABLE
132:       PetscEnum MAT_KEEP_ZEROED_ROWS
133:       PetscEnum MAT_IGNORE_ZERO_ENTRIES
134:       PetscEnum MAT_USE_INODES
135:       PetscEnum MAT_DO_NOT_USE_INODES
136:       PetscEnum MAT_NOT_SYMMETRIC
137:       PetscEnum MAT_HERMITIAN
138:       PetscEnum MAT_NOT_STRUCTURALLY_SYMMETRIC
139:       PetscEnum MAT_NOT_HERMITIAN
140:       PetscEnum MAT_SYMMETRY_ETERNAL
141:       PetscEnum MAT_NOT_SYMMETRY_ETERNAL
142:       PetscEnum MAT_USE_COMPRESSEDROW
143:       PetscEnum MAT_DO_NOT_USE_COMPRESSEDROW
144:       PetscEnum MAT_IGNORE_LOWER_TRIANGULAR
145:       PetscEnum MAT_ERROR_LOWER_TRIANGULAR
146:       PetscEnum MAT_GETROW_UPPERTRIANGULAR

148:       parameter (MAT_ROW_ORIENTED=0,MAT_COLUMN_ORIENTED=1)
149:       parameter (MAT_ROWS_SORTED=2,MAT_COLUMNS_SORTED=3)
150:       parameter (MAT_NO_NEW_NONZERO_LOCATIONS=4)
151:       parameter (MAT_YES_NEW_NONZERO_LOCATIONS=5)
152:       parameter (MAT_SYMMETRIC=6,MAT_STRUCTURALLY_SYMMETRIC=7)
153:       parameter (MAT_NO_NEW_DIAGONALS=8,MAT_YES_NEW_DIAGONALS=9)
154:       parameter (MAT_INODE_LIMIT_1=10,MAT_INODE_LIMIT_2=11)
155:       parameter (MAT_INODE_LIMIT_3=12,MAT_INODE_LIMIT_4=13)
156:       parameter (MAT_INODE_LIMIT_5=14,MAT_IGNORE_OFF_PROC_ENTRIES=15)
157:       parameter (MAT_ROWS_UNSORTED=16,MAT_COLUMNS_UNSORTED=17)
158:       parameter (MAT_NEW_NONZERO_LOCATION_ERR=18)
159:       parameter (MAT_NEW_NONZERO_ALLOCATION_ERR=19)
160:       parameter (MAT_USE_HASH_TABLE=20)
161:       parameter (MAT_KEEP_ZEROED_ROWS=21)
162:       parameter (MAT_IGNORE_ZERO_ENTRIES=22)
163:       parameter (MAT_USE_INODES=23,MAT_DO_NOT_USE_INODES=24)
164:       parameter (MAT_NOT_SYMMETRIC=25,MAT_HERMITIAN=26)
165:       parameter (MAT_NOT_STRUCTURALLY_SYMMETRIC=27)
166:       parameter (MAT_NOT_HERMITIAN=28)
167:       parameter (MAT_SYMMETRY_ETERNAL=29,MAT_NOT_SYMMETRY_ETERNAL=30)
168:       parameter (MAT_USE_COMPRESSEDROW=31)
169:       parameter (MAT_DO_NOT_USE_COMPRESSEDROW=32)
170:       parameter (MAT_IGNORE_LOWER_TRIANGULAR=33)
171:       parameter (MAT_ERROR_LOWER_TRIANGULAR=34)
172:       parameter (MAT_GETROW_UPPERTRIANGULAR=35)

174: !
175: !  MatDuplicateOption
176: !
177:       PetscEnum MAT_DO_NOT_COPY_VALUES
178:       PetscEnum MAT_COPY_VALUES
179:       parameter (MAT_DO_NOT_COPY_VALUES=0,MAT_COPY_VALUES=1)
180: !
181: !  Flags for PCSetOperators()
182: !
183:       PetscEnum SAME_NONZERO_PATTERN
184:       PetscEnum DIFFERENT_NONZERO_PATTERN
185:       PetscEnum SAME_PRECONDITIONER

187:       parameter (SAME_NONZERO_PATTERN = 0,DIFFERENT_NONZERO_PATTERN = 1)
188:       parameter (SAME_PRECONDITIONER = 2)

190: !
191: !  Note: MAT_INFO_SIZE must equal # elements in MatInfo structure
192: !  (See petsc/include/petscmat.h)
193: !
194:       PetscEnum MAT_INFO_SIZE

196:       parameter (MAT_INFO_SIZE=14)

198:       PetscEnum MAT_INFO_ROWS_GLOBAL
199:       PetscEnum MAT_INFO_COLUMNS_GLOBAL
200:       PetscEnum MAT_INFO_ROWS_LOCAL
201:       PetscEnum MAT_INFO_COLUMNS_LOCAL
202:       PetscEnum MAT_INFO_BLOCK_SIZE
203:       PetscEnum MAT_INFO_NZ_ALLOCATED
204:       PetscEnum MAT_INFO_NZ_USED
205:       PetscEnum MAT_INFO_NZ_UNNEEDED
206:       PetscEnum MAT_INFO_MEMORY
207:       PetscEnum MAT_INFO_ASSEMBLIES
208:       PetscEnum MAT_INFO_MALLOCS
209:       PetscEnum MAT_INFO_FILL_RATIO_GIVEN
210:       PetscEnum MAT_INFO_FILL_RATIO_NEEDED
211:       PetscEnum MAT_INFO_FACTOR_MALLOCS

213:       parameter (MAT_INFO_ROWS_GLOBAL=1,MAT_INFO_COLUMNS_GLOBAL=2)
214:       parameter (MAT_INFO_ROWS_LOCAL=3,MAT_INFO_COLUMNS_LOCAL=4)
215:       parameter (MAT_INFO_BLOCK_SIZE=5,MAT_INFO_NZ_ALLOCATED=6)
216:       parameter (MAT_INFO_NZ_USED=7,MAT_INFO_NZ_UNNEEDED=8)
217:       parameter (MAT_INFO_MEMORY=9,MAT_INFO_ASSEMBLIES=10)
218:       parameter (MAT_INFO_MALLOCS=11,MAT_INFO_FILL_RATIO_GIVEN=12)
219:       parameter (MAT_INFO_FILL_RATIO_NEEDED=13)
220:       parameter (MAT_INFO_FACTOR_MALLOCS=14)
221: !
222: !  MatReuse
223: !
224:       PetscEnum MAT_INITIAL_MATRIX
225:       PetscEnum MAT_REUSE_MATRIX

227:       parameter (MAT_INITIAL_MATRIX=0,MAT_REUSE_MATRIX=1)

229: !
230: !  MatInfoType
231: !
232:       PetscEnum MAT_LOCAL
233:       PetscEnum MAT_GLOBAL_MAX
234:       PetscEnum MAT_GLOBAL_SUM

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

238: !
239: !  Note: MAT_FACTORINFO_SIZE must equal # elements in MatFactorInfo structure
240: !  (See petsc/include/petscmat.h)
241: !
242:       PetscEnum MAT_FACTORINFO_SIZE

244:       parameter (MAT_FACTORINFO_SIZE=11)

246:       PetscEnum MAT_FACTORINFO_LEVELS
247:       PetscEnum MAT_FACTORINFO_FILL
248:       PetscEnum MAT_FACTORINFO_DIAGONAL_FILL
249:       PetscEnum MAT_FACTORINFO_DT
250:       PetscEnum MAT_FACTORINFO_DTCOL
251:       PetscEnum MAT_FACTORINFO_DTCOUNT
252:       PetscEnum MAT_FACTORINFO_DAMPING
253:       PetscEnum MAT_FACTORINFO_SHIFT
254:       PetscEnum MAT_FACTORINFO_SHIFT_FRACTION
255:       PetscEnum MAT_FACTORINFO_ZERO_PIVOT
256:       PetscEnum MAT_FACTORINFO_PIVOT_IN_BLOCKS

258:       parameter (MAT_FACTORINFO_DAMPING = 1)
259:       parameter (MAT_FACTORINFO_SHIFT = 2)
260:       parameter (MAT_FACTORINFO_SHIFT_FRACTION = 3)
261:       parameter (MAT_FACTORINFO_DIAGONAL_FILL = 4)
262:       parameter (MAT_FACTORINFO_DT = 5)
263:       parameter (MAT_FACTORINFO_DTCOL = 6)
264:       parameter (MAT_FACTORINFO_DTCOUNT = 7)
265:       parameter (MAT_FACTORINFO_LEVELS = 8)
266:       parameter (MAT_FACTORINFO_FILL = 9)
267:       parameter (MAT_FACTORINFO_PIVOT_IN_BLOCKS = 10)
268:       parameter (MAT_FACTORINFO_ZERO_PIVOT = 11)


271: !
272: !  Options for SOR and SSOR
273: !  MatSorType may be bitwise ORd together, so do not change the numbers
274: !
275:       PetscEnum SOR_FORWARD_SWEEP
276:       PetscEnum SOR_BACKWARD_SWEEP
277:       PetscEnum SOR_SYMMETRIC_SWEEP
278:       PetscEnum SOR_LOCAL_FORWARD_SWEEP
279:       PetscEnum SOR_LOCAL_BACKWARD_SWEEP
280:       PetscEnum SOR_LOCAL_SYMMETRIC_SWEEP
281:       PetscEnum SOR_ZERO_INITIAL_GUESS
282:       PetscEnum SOR_EISENSTAT
283:       PetscEnum SOR_APPLY_UPPER
284:       PetscEnum SOR_APPLY_LOWER

286:       parameter (SOR_FORWARD_SWEEP=1,SOR_BACKWARD_SWEEP=2)
287:       parameter (SOR_SYMMETRIC_SWEEP=3,SOR_LOCAL_FORWARD_SWEEP=4)
288:       parameter (SOR_LOCAL_BACKWARD_SWEEP=8)
289:       parameter (SOR_LOCAL_SYMMETRIC_SWEEP=12)
290:       parameter (SOR_ZERO_INITIAL_GUESS=16,SOR_EISENSTAT=32)
291:       parameter (SOR_APPLY_UPPER=64,SOR_APPLY_LOWER=128)
292: !
293: !  MatOperation
294: !
295:       PetscEnum MATOP_SET_VALUES
296:       PetscEnum MATOP_GET_ROW
297:       PetscEnum MATOP_RESTORE_ROW
298:       PetscEnum MATOP_MULT
299:       PetscEnum MATOP_MULT_ADD
300:       PetscEnum MATOP_MULT_TRANSPOSE
301:       PetscEnum MATOP_MULT_TRANSPOSE_ADD
302:       PetscEnum MATOP_SOLVE
303:       PetscEnum MATOP_SOLVE_ADD
304:       PetscEnum MATOP_SOLVE_TRANSPOSE
305:       PetscEnum MATOP_SOLVE_TRANSPOSE_ADD
306:       PetscEnum MATOP_LUFACTOR
307:       PetscEnum MATOP_CHOLESKYFACTOR
308:       PetscEnum MATOP_RELAX
309:       PetscEnum MATOP_TRANSPOSE
310:       PetscEnum MATOP_GETINFO
311:       PetscEnum MATOP_EQUAL
312:       PetscEnum MATOP_GET_DIAGONAL
313:       PetscEnum MATOP_DIAGONAL_SCALE
314:       PetscEnum MATOP_NORM
315:       PetscEnum MATOP_ASSEMBLY_BEGIN
316:       PetscEnum MATOP_ASSEMBLY_END
317:       PetscEnum MATOP_COMPRESS
318:       PetscEnum MATOP_SET_OPTION
319:       PetscEnum MATOP_ZERO_ENTRIES
320:       PetscEnum MATOP_ZERO_ROWS
321:       PetscEnum MATOP_LUFACTOR_SYMBOLIC
322:       PetscEnum MATOP_LUFACTOR_NUMERIC
323:       PetscEnum MATOP_CHOLESKY_FACTOR_SYMBOLIC
324:       PetscEnum MATOP_CHOLESKY_FACTOR_NUMERIC
325:       PetscEnum MATOP_SETUP_PREALLOCATION
326:       PetscEnum MATOP_ILUFACTOR_SYMBOLIC
327:       PetscEnum MATOP_ICCFACTOR_SYMBOLIC
328:       PetscEnum MATOP_GET_ARRAY
329:       PetscEnum MATOP_RESTORE_ARRAY

331:       PetscEnum MATOP_DUPLICATE
332:       PetscEnum MATOP_FORWARD_SOLVE
333:       PetscEnum MATOP_BACKWARD_SOLVE
334:       PetscEnum MATOP_ILUFACTOR
335:       PetscEnum MATOP_ICCFACTOR
336:       PetscEnum MATOP_AXPY
337:       PetscEnum MATOP_GET_SUBMATRICES
338:       PetscEnum MATOP_INCREASE_OVERLAP
339:       PetscEnum MATOP_GET_VALUES
340:       PetscEnum MATOP_COPY
341:       PetscEnum MATOP_PRINT_HELP
342:       PetscEnum MATOP_SCALE
343:       PetscEnum MATOP_SHIFT
344:       PetscEnum MATOP_DIAGONAL_SHIFT
345:       PetscEnum MATOP_ILUDT_FACTOR
346:       PetscEnum MATOP_GET_BLOCK_SIZE

348:       PetscEnum MATOP_GET_ROW_IJ
349:       PetscEnum MATOP_RESTORE_ROW_IJ
350:       PetscEnum MATOP_GET_COLUMN_IJ
351:       PetscEnum MATOP_RESTORE_COLUMN_IJ
352:       PetscEnum MATOP_FDCOLORING_CREATE
353:       PetscEnum MATOP_COLORING_PATCH
354:       PetscEnum MATOP_SET_UNFACTORED
355:       PetscEnum MATOP_PERMUTE
356:       PetscEnum MATOP_SET_VALUES_BLOCKED
357:       PetscEnum MATOP_GET_SUBMATRIX
358:       PetscEnum MATOP_DESTROY
359:       PetscEnum MATOP_VIEW
360:       PetscEnum MATOP_GET_MAPS
361:       PetscEnum MATOP_USE_SCALED_FORM
362:       PetscEnum MATOP_SCALE_SYSTEM
363:       PetscEnum MATOP_UNSCALE_SYSTEM
364:       PetscEnum MATOP_SET_LOCAL_TO_GLOBAL_MAP
365:       PetscEnum MATOP_SET_VALUES_LOCAL
366:       PetscEnum MATOP_ZERO_ROWS_LOCAL
367:       PetscEnum MATOP_GET_ROW_MAX
368:       PetscEnum MATOP_CONVERT
369:       PetscEnum MATOP_SET_COLORING
370:       PetscEnum MATOP_SET_VALUES_ADIC
371:       PetscEnum MATOP_SET_VALUES_ADIFOR
372:       PetscEnum MATOP_FD_COLORING_APPLY
373:       PetscEnum MATOP_SET_FROM_OPTIONS
374:       PetscEnum MATOP_MULT_CON
375:       PetscEnum MATOP_MULT_TRANSPOSE_CON
376:       PetscEnum MATOP_ILU_FACTOR_SYMBOLIC_CON
377:       PetscEnum MATOP_PERMUTE_SPARSIFY
378:       PetscEnum MATOP_MULT_MULTIPLE
379:       PetscEnum MATOP_SOLVE_MULTIPLE
380:       PetscEnum MATOP_GET_INERTIA
381:       PetscEnum MATOP_LOAD
382:       PetscEnum MATOP_IS_SYMMETRIC
383:       PetscEnum MATOP_IS_HERMITIAN
384:       PetscEnum MATOP_IS_STRUCTURALLY_SYMMETRIC
385:       PetscEnum MATOP_PB_RELAX
386:       PetscEnum MATOP_GET_VECS
387:       PetscEnum MATOP_MAT_MULT
388:       PetscEnum MATOP_MAT_MULT_SYMBOLIC
389:       PetscEnum MATOP_MAT_MULT_NUMERIC
390:       PetscEnum MATOP_PTAP
391:       PetscEnum MATOP_PTAP_SYMBOLIC
392:       PetscEnum MATOP_PTAP_NUMERIC
393:       PetscEnum MATOP_MAT_MULT_TRANSPOSE
394:       PetscEnum MATOP_MAT_MULT_TRANSPOSE_SYM
395:       PetscEnum MATOP_MAT_MULT_TRANSPOSE_NUM
396:       PetscEnum MATOP_PTAP_SYMBOLIC_SEQAIJ
397:       PetscEnum MATOP_PTAP_NUMERIC_SEQAIJ
398:       PetscEnum MATOP_PTAP_SYMBOLIC_MPIAIJ
399:       PetscEnum MATOP_PTAP_NUMERIC_MPIAIJ
400:       PetscEnum MATOP_SET_VALUES_ROW
401:       PetscEnum MATOP_GET_ROW_UTRIANGULAR
402:       PetscEnum MATOP_RESTORE_ROW_UTRIANGULAR
403:       PetscEnum MATOP_MATSOLVE
404: 
405:       parameter(MATOP_SET_VALUES=0)
406:       parameter(MATOP_GET_ROW=1)
407:       parameter(MATOP_RESTORE_ROW=2)
408:       parameter(MATOP_MULT=3)
409:       parameter(MATOP_MULT_ADD=4)
410:       parameter(MATOP_MULT_TRANSPOSE=5)
411:       parameter(MATOP_MULT_TRANSPOSE_ADD=6)
412:       parameter(MATOP_SOLVE=7)
413:       parameter(MATOP_SOLVE_ADD=8)
414:       parameter(MATOP_SOLVE_TRANSPOSE=9)
415:       parameter(MATOP_SOLVE_TRANSPOSE_ADD=10)
416:       parameter(MATOP_LUFACTOR=11)
417:       parameter(MATOP_CHOLESKYFACTOR=12)
418:       parameter(MATOP_RELAX=13)
419:       parameter(MATOP_TRANSPOSE=14)
420:       parameter(MATOP_GETINFO=15)
421:       parameter(MATOP_EQUAL=16)
422:       parameter(MATOP_GET_DIAGONAL=17)
423:       parameter(MATOP_DIAGONAL_SCALE=18)
424:       parameter(MATOP_NORM=19)
425:       parameter(MATOP_ASSEMBLY_BEGIN=20)
426:       parameter(MATOP_ASSEMBLY_END=21)
427:       parameter(MATOP_COMPRESS=22)
428:       parameter(MATOP_SET_OPTION=23)
429:       parameter(MATOP_ZERO_ENTRIES=24)
430:       parameter(MATOP_ZERO_ROWS=25)
431:       parameter(MATOP_LUFACTOR_SYMBOLIC=26)
432:       parameter(MATOP_LUFACTOR_NUMERIC=27)
433:       parameter(MATOP_CHOLESKY_FACTOR_SYMBOLIC=28)
434:       parameter(MATOP_CHOLESKY_FACTOR_NUMERIC=29)
435:       parameter(MATOP_SETUP_PREALLOCATION=30)
436:       parameter(MATOP_ILUFACTOR_SYMBOLIC=31)
437:       parameter(MATOP_ICCFACTOR_SYMBOLIC=32)
438:       parameter(MATOP_GET_ARRAY=33)
439:       parameter(MATOP_RESTORE_ARRAY=34)
440:       parameter(MATOP_DUPLICATE=35)
441:       parameter(MATOP_FORWARD_SOLVE=36)
442:       parameter(MATOP_BACKWARD_SOLVE=37)
443:       parameter(MATOP_ILUFACTOR=38)
444:       parameter(MATOP_ICCFACTOR=39)
445:       parameter(MATOP_AXPY=40)
446:       parameter(MATOP_GET_SUBMATRICES=41)
447:       parameter(MATOP_INCREASE_OVERLAP=42)
448:       parameter(MATOP_GET_VALUES=43)
449:       parameter(MATOP_COPY=44)
450:       parameter(MATOP_PRINT_HELP=45)
451:       parameter(MATOP_SCALE=46)
452:       parameter(MATOP_SHIFT=47)
453:       parameter(MATOP_DIAGONAL_SHIFT=48)
454:       parameter(MATOP_ILUDT_FACTOR=49)
455:       parameter(MATOP_GET_BLOCK_SIZE=50)
456:       parameter(MATOP_GET_ROW_IJ=51)
457:       parameter(MATOP_RESTORE_ROW_IJ=52)
458:       parameter(MATOP_GET_COLUMN_IJ=53)
459:       parameter(MATOP_RESTORE_COLUMN_IJ=54)
460:       parameter(MATOP_FDCOLORING_CREATE=55)
461:       parameter(MATOP_COLORING_PATCH=56)
462:       parameter(MATOP_SET_UNFACTORED=57)
463:       parameter(MATOP_PERMUTE=58)
464:       parameter(MATOP_SET_VALUES_BLOCKED=59)
465:       parameter(MATOP_GET_SUBMATRIX=60)
466:       parameter(MATOP_DESTROY=61)
467:       parameter(MATOP_VIEW=62)
468:       parameter(MATOP_GET_MAPS=63)
469:       parameter(MATOP_USE_SCALED_FORM=64)
470:       parameter(MATOP_SCALE_SYSTEM=65)
471:       parameter(MATOP_UNSCALE_SYSTEM=66)
472:       parameter(MATOP_SET_LOCAL_TO_GLOBAL_MAP=67)
473:       parameter(MATOP_SET_VALUES_LOCAL=68)
474:       parameter(MATOP_ZERO_ROWS_LOCAL=69)
475:       parameter(MATOP_GET_ROW_MAX=70)
476:       parameter(MATOP_CONVERT=71)
477:       parameter(MATOP_SET_COLORING=72)
478:       parameter(MATOP_SET_VALUES_ADIC=73)
479:       parameter(MATOP_SET_VALUES_ADIFOR=74)
480:       parameter(MATOP_FD_COLORING_APPLY=75)
481:       parameter(MATOP_SET_FROM_OPTIONS=76)
482:       parameter(MATOP_MULT_CON=77)
483:       parameter(MATOP_MULT_TRANSPOSE_CON=78)
484:       parameter(MATOP_ILU_FACTOR_SYMBOLIC_CON=79)
485:       parameter(MATOP_PERMUTE_SPARSIFY=80)
486:       parameter(MATOP_MULT_MULTIPLE=81)
487:       parameter(MATOP_SOLVE_MULTIPLE=82)
488:       parameter(MATOP_GET_INERTIA=83)
489:       parameter(MATOP_LOAD=84)
490:       parameter(MATOP_IS_SYMMETRIC=85)
491:       parameter(MATOP_IS_HERMITIAN=86)
492:       parameter(MATOP_IS_STRUCTURALLY_SYMMETRIC=87)
493:       parameter(MATOP_PB_RELAX=88)
494:       parameter(MATOP_GET_VECS=89)
495:       parameter(MATOP_MAT_MULT=90)
496:       parameter(MATOP_MAT_MULT_SYMBOLIC=91)
497:       parameter(MATOP_MAT_MULT_NUMERIC=92)
498:       parameter(MATOP_PTAP=93)
499:       parameter(MATOP_PTAP_SYMBOLIC=94)
500:       parameter(MATOP_PTAP_NUMERIC=95)
501:       parameter(MATOP_MAT_MULT_TRANSPOSE=96)
502:       parameter(MATOP_MAT_MULT_TRANSPOSE_SYM=97)
503:       parameter(MATOP_MAT_MULT_TRANSPOSE_NUM=98)
504:       parameter(MATOP_PTAP_SYMBOLIC_SEQAIJ=99)
505:       parameter(MATOP_PTAP_NUMERIC_SEQAIJ=100)
506:       parameter(MATOP_PTAP_SYMBOLIC_MPIAIJ=101)
507:       parameter(MATOP_PTAP_NUMERIC_MPIAIJ=102)
508:       parameter(MATOP_SET_VALUES_ROW=105)
509:       parameter(MATOP_GET_ROW_UTRIANGULAR=108)
510:       parameter(MATOP_RESTORE_ROW_UTRIANGULAR=109)
511:       parameter(MATOP_MATSOLVE=110)
512: !
513: !
514: !
515:       PetscEnum MATRIX_BINARY_FORMAT_DENSE
516:       parameter (MATRIX_BINARY_FORMAT_DENSE=-1)
517: !
518: !  End of Fortran include file for the Mat package in PETSc
519: !
520: #endif