Actual source code: petscmat.h

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

  7: !
  8: !  Flag for matrix assembly
  9: !
 10:       PetscEnum MAT_FLUSH_ASSEMBLY
 11:       PetscEnum MAT_FINAL_ASSEMBLY

 13:       parameter(MAT_FLUSH_ASSEMBLY=1,MAT_FINAL_ASSEMBLY=0)
 14: !
 15: !
 16: !
 17:       PetscEnum MAT_FACTOR_NONE
 18:       PetscEnum MAT_FACTOR_LU
 19:       PetscEnum MAT_FACTOR_CHOLESKY
 20:       PetscEnum MAT_FACTOR_ILU
 21:       PetscEnum MAT_FACTOR_ICC

 23:       parameter(MAT_FACTOR_NONE=0,MAT_FACTOR_LU=1)
 24:       parameter(MAT_FACTOR_CHOLESKY=2,MAT_FACTOR_ILU=3)
 25:       parameter(MAT_FACTOR_ICC=4)

 27: ! MatGetSubMatrixOption
 28:       PetscEnum MAT_DO_NOT_GET_VALUES
 29:       PetscEnum MAT_GET_VALUES
 30:       parameter(MAT_DO_NOT_GET_VALUES=0,MAT_GET_VALUES=1)
 31: 
 32: !
 33: !  Matrix options; must match those in include/petscmat.h
 34: !
 35:       PetscEnum MAT_ROW_ORIENTED
 36:       PetscEnum MAT_NEW_NONZERO_LOCATIONS
 37:       PetscEnum MAT_SYMMETRIC
 38:       PetscEnum MAT_STRUCTURALLY_SYMMETRIC
 39:       PetscEnum MAT_NEW_DIAGONALS
 40:       PetscEnum MAT_IGNORE_OFF_PROC_ENTRIES
 41:       PetscEnum MAT_NEW_NONZERO_LOCATION_ERR
 42:       PetscEnum MAT_NEW_NONZERO_ALLOCATION_ERR
 43:       PetscEnum MAT_USE_HASH_TABLE
 44:       PetscEnum MAT_KEEP_NONZERO_PATTERN
 45:       PetscEnum MAT_IGNORE_ZERO_ENTRIES
 46:       PetscEnum MAT_USE_INODES
 47:       PetscEnum MAT_HERMITIAN
 48:       PetscEnum MAT_SYMMETRY_ETERNAL
 49:       PetscEnum MAT_CHECK_COMPRESSED_ROW
 50:       PetscEnum MAT_IGNORE_LOWER_TRIANGULAR
 51:       PetscEnum MAT_ERROR_LOWER_TRIANGULAR
 52:       PetscEnum MAT_GETROW_UPPERTRIANGULAR
 53:       PetscEnum MAT_UNUSED_NONZERO_LOCATION_ERR
 54:       PetscEnum MAT_SPD
 55:       PetscEnum MAT_NO_OFF_PROC_ENTRIES
 56:       PetscEnum MAT_NO_OFF_PROC_ZERO_ROWS
 57:       PetscEnum NUM_MAT_OPTIONS

 59:       parameter (MAT_ROW_ORIENTED=0)
 60:       parameter (MAT_NEW_NONZERO_LOCATIONS=1)
 61:       parameter (MAT_SYMMETRIC=2)
 62:       parameter (MAT_STRUCTURALLY_SYMMETRIC=3)
 63:       parameter (MAT_NEW_DIAGONALS=4)
 64:       parameter (MAT_IGNORE_OFF_PROC_ENTRIES=5)
 65:       parameter (MAT_NEW_NONZERO_LOCATION_ERR=6)
 66:       parameter (MAT_NEW_NONZERO_ALLOCATION_ERR=7)
 67:       parameter (MAT_USE_HASH_TABLE=8)
 68:       parameter (MAT_KEEP_NONZERO_PATTERN=9)
 69:       parameter (MAT_IGNORE_ZERO_ENTRIES=10)
 70:       parameter (MAT_USE_INODES=11)
 71:       parameter (MAT_HERMITIAN=12)
 72:       parameter (MAT_SYMMETRY_ETERNAL=13)
 73:       parameter (MAT_CHECK_COMPRESSED_ROW=14)
 74:       parameter (MAT_IGNORE_LOWER_TRIANGULAR=15)
 75:       parameter (MAT_ERROR_LOWER_TRIANGULAR=16)
 76:       parameter (MAT_GETROW_UPPERTRIANGULAR=17)
 77:       parameter (MAT_UNUSED_NONZERO_LOCATION_ERR=18)
 78:       parameter (MAT_SPD=19)
 79:       parameter (MAT_NO_OFF_PROC_ENTRIES=20)
 80:       parameter (MAT_NO_OFF_PROC_ZERO_ROWS=21)
 81:       parameter (NUM_MAT_OPTIONS=22)
 82: !
 83: !  MatFactorShiftType
 84: !
 85:       PetscEnum MAT_SHIFT_NONE
 86:       PetscEnum MAT_SHIFT_NONZERO
 87:       PetscEnum MAT_SHIFT_POSITIVE_DEFINITE
 88:       PetscEnum MAT_SHIFT_INBLOCKS
 89:       parameter (MAT_SHIFT_NONE=0)
 90:       parameter (MAT_SHIFT_NONZERO=1)
 91:       parameter (MAT_SHIFT_POSITIVE_DEFINITE=2)
 92:       parameter (MAT_SHIFT_INBLOCKS=3)

 94: !
 95: !  MatDuplicateOption
 96: !
 97:       PetscEnum MAT_DO_NOT_COPY_VALUES
 98:       PetscEnum MAT_COPY_VALUES
 99:       PetscEnum MAT_SHARE_NONZERO_PATTERN
100:       parameter (MAT_DO_NOT_COPY_VALUES=0,MAT_COPY_VALUES=1)
101:       parameter (MAT_SHARE_NONZERO_PATTERN=2)
102: !
103: !  Flags for PCSetOperators()
104: !
105:       PetscEnum SAME_NONZERO_PATTERN
106:       PetscEnum DIFFERENT_NONZERO_PATTERN
107:       PetscEnum SAME_PRECONDITIONER
108:       PetscEnum SUBSET_NONZERO_PATTERN

110:       parameter (SAME_NONZERO_PATTERN = 0,DIFFERENT_NONZERO_PATTERN = 1)
111:       parameter (SAME_PRECONDITIONER = 2,SUBSET_NONZERO_PATTERN=3)
112: #if !(PETSC_USE_FORTRAN_DATATYPES_)
113:  #include finclude/petscmatinfosize.h
114: #endif

116:       PetscEnum MAT_INFO_BLOCK_SIZE
117:       PetscEnum MAT_INFO_NZ_ALLOCATED
118:       PetscEnum MAT_INFO_NZ_USED
119:       PetscEnum MAT_INFO_NZ_UNNEEDED
120:       PetscEnum MAT_INFO_MEMORY
121:       PetscEnum MAT_INFO_ASSEMBLIES
122:       PetscEnum MAT_INFO_MALLOCS
123:       PetscEnum MAT_INFO_FILL_RATIO_GIVEN
124:       PetscEnum MAT_INFO_FILL_RATIO_NEEDED
125:       PetscEnum MAT_INFO_FACTOR_MALLOCS

127:       parameter (MAT_INFO_BLOCK_SIZE=1,MAT_INFO_NZ_ALLOCATED=2)
128:       parameter (MAT_INFO_NZ_USED=3,MAT_INFO_NZ_UNNEEDED=4)
129:       parameter (MAT_INFO_MEMORY=5,MAT_INFO_ASSEMBLIES=6)
130:       parameter (MAT_INFO_MALLOCS=7,MAT_INFO_FILL_RATIO_GIVEN=8)
131:       parameter (MAT_INFO_FILL_RATIO_NEEDED=9)
132:       parameter (MAT_INFO_FACTOR_MALLOCS=10)
133: !
134: !  MatReuse
135: !
136:       PetscEnum MAT_INITIAL_MATRIX
137:       PetscEnum MAT_REUSE_MATRIX
138:       PetscEnum MAT_IGNORE_MATRIX

140:       parameter (MAT_INITIAL_MATRIX=0)
141:       parameter (MAT_REUSE_MATRIX=1)
142:       parameter (MAT_IGNORE_MATRIX=2)

144: !
145: !  MatInfoType
146: !
147:       PetscEnum MAT_LOCAL
148:       PetscEnum MAT_GLOBAL_MAX
149:       PetscEnum MAT_GLOBAL_SUM

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

153: !
154: !  MatCompositeType
155: !
156:       PetscEnum MAT_COMPOSITE_ADDITIVE
157:       PetscEnum MAT_COMPOSITE_MULTIPLICATIVE

159:       parameter (MAT_COMPOSITE_ADDITIVE = 0)
160:       parameter (MAT_COMPOSITE_MULTIPLICATIVE = 1)
161: #if !(PETSC_USE_FORTRAN_DATATYPES_)
162:  #include finclude/petscmatfactorinfosize.h
163: #endif
164:       PetscEnum MAT_FACTORINFO_LEVELS
165:       PetscEnum MAT_FACTORINFO_FILL
166:       PetscEnum MAT_FACTORINFO_DIAGONAL_FILL
167:       PetscEnum MAT_FACTORINFO_DT
168:       PetscEnum MAT_FACTORINFO_DTCOL
169:       PetscEnum MAT_FACTORINFO_DTCOUNT
170:       PetscEnum MAT_FACTORINFO_DAMPING
171:       PetscEnum MAT_FACTORINFO_SHIFT
172:       PetscEnum MAT_FACTORINFO_ZERO_PIVOT
173:       PetscEnum MAT_FACTORINFO_PIVOT_IN_BLOCKS

175:       parameter (MAT_FACTORINFO_DAMPING = 1)
176:       parameter (MAT_FACTORINFO_SHIFT = 2)
177:       parameter (MAT_FACTORINFO_DIAGONAL_FILL = 3)
178:       parameter (MAT_FACTORINFO_DT = 4)
179:       parameter (MAT_FACTORINFO_DTCOL = 5)
180:       parameter (MAT_FACTORINFO_DTCOUNT = 6)
181:       parameter (MAT_FACTORINFO_LEVELS = 7)
182:       parameter (MAT_FACTORINFO_FILL = 8)
183:       parameter (MAT_FACTORINFO_PIVOT_IN_BLOCKS = 9)
184:       parameter (MAT_FACTORINFO_ZERO_PIVOT = 10)


187: !
188: !  Options for SOR and SSOR
189: !  MatSorType may be bitwise ORd together, so do not change the numbers
190: !
191:       PetscEnum SOR_FORWARD_SWEEP
192:       PetscEnum SOR_BACKWARD_SWEEP
193:       PetscEnum SOR_SYMMETRIC_SWEEP
194:       PetscEnum SOR_LOCAL_FORWARD_SWEEP
195:       PetscEnum SOR_LOCAL_BACKWARD_SWEEP
196:       PetscEnum SOR_LOCAL_SYMMETRIC_SWEEP
197:       PetscEnum SOR_ZERO_INITIAL_GUESS
198:       PetscEnum SOR_EISENSTAT
199:       PetscEnum SOR_APPLY_UPPER
200:       PetscEnum SOR_APPLY_LOWER

202:       parameter (SOR_FORWARD_SWEEP=1,SOR_BACKWARD_SWEEP=2)
203:       parameter (SOR_SYMMETRIC_SWEEP=3,SOR_LOCAL_FORWARD_SWEEP=4)
204:       parameter (SOR_LOCAL_BACKWARD_SWEEP=8)
205:       parameter (SOR_LOCAL_SYMMETRIC_SWEEP=12)
206:       parameter (SOR_ZERO_INITIAL_GUESS=16,SOR_EISENSTAT=32)
207:       parameter (SOR_APPLY_UPPER=64,SOR_APPLY_LOWER=128)
208: !
209: !  MatOperation
210: !
211:       PetscEnum MATOP_SET_VALUES
212:       PetscEnum MATOP_GET_ROW
213:       PetscEnum MATOP_RESTORE_ROW
214:       PetscEnum MATOP_MULT
215:       PetscEnum MATOP_MULT_ADD
216:       PetscEnum MATOP_MULT_TRANSPOSE
217:       PetscEnum MATOP_MULT_TRANSPOSE_ADD
218:       PetscEnum MATOP_SOLVE
219:       PetscEnum MATOP_SOLVE_ADD
220:       PetscEnum MATOP_SOLVE_TRANSPOSE
221:       PetscEnum MATOP_SOLVE_TRANSPOSE_ADD
222:       PetscEnum MATOP_LUFACTOR
223:       PetscEnum MATOP_CHOLESKYFACTOR
224:       PetscEnum MATOP_SOR
225:       PetscEnum MATOP_TRANSPOSE
226:       PetscEnum MATOP_GETINFO
227:       PetscEnum MATOP_EQUAL
228:       PetscEnum MATOP_GET_DIAGONAL
229:       PetscEnum MATOP_DIAGONAL_SCALE
230:       PetscEnum MATOP_NORM
231:       PetscEnum MATOP_ASSEMBLY_BEGIN
232:       PetscEnum MATOP_ASSEMBLY_END
233:       PetscEnum MATOP_SET_OPTION
234:       PetscEnum MATOP_ZERO_ENTRIES
235:       PetscEnum MATOP_ZERO_ROWS
236:       PetscEnum MATOP_LUFACTOR_SYMBOLIC
237:       PetscEnum MATOP_LUFACTOR_NUMERIC
238:       PetscEnum MATOP_CHOLESKY_FACTOR_SYMBOLIC
239:       PetscEnum MATOP_CHOLESKY_FACTOR_NUMERIC
240:       PetscEnum MATOP_SETUP_PREALLOCATION
241:       PetscEnum MATOP_ILUFACTOR_SYMBOLIC
242:       PetscEnum MATOP_ICCFACTOR_SYMBOLIC
243:       PetscEnum MATOP_GET_ARRAY
244:       PetscEnum MATOP_RESTORE_ARRAY
245:       PetscEnum MATOP_DUPLICATE
246:       PetscEnum MATOP_FORWARD_SOLVE
247:       PetscEnum MATOP_BACKWARD_SOLVE
248:       PetscEnum MATOP_ILUFACTOR
249:       PetscEnum MATOP_ICCFACTOR
250:       PetscEnum MATOP_AXPY
251:       PetscEnum MATOP_GET_SUBMATRICES
252:       PetscEnum MATOP_INCREASE_OVERLAP
253:       PetscEnum MATOP_GET_VALUES
254:       PetscEnum MATOP_COPY
255:       PetscEnum MATOP_GET_ROW_MAX
256:       PetscEnum MATOP_SCALE
257:       PetscEnum MATOP_SHIFT
258:       PetscEnum MATOP_DIAGONAL_SET
259:       PetscEnum MATOP_ILUDT_FACTOR
260:       PetscEnum MATOP_SET_BLOCK_SIZE
261:       PetscEnum MATOP_GET_ROW_IJ
262:       PetscEnum MATOP_RESTORE_ROW_IJ
263:       PetscEnum MATOP_GET_COLUMN_IJ
264:       PetscEnum MATOP_RESTORE_COLUMN_IJ
265:       PetscEnum MATOP_FDCOLORING_CREATE
266:       PetscEnum MATOP_COLORING_PATCH
267:       PetscEnum MATOP_SET_UNFACTORED
268:       PetscEnum MATOP_PERMUTE
269:       PetscEnum MATOP_SET_VALUES_BLOCKED
270:       PetscEnum MATOP_GET_SUBMATRIX
271:       PetscEnum MATOP_DESTROY
272:       PetscEnum MATOP_VIEW
273:       PetscEnum MATOP_CONVERT_FROM
274:       PetscEnum MATOP_USE_SCALED_FORM
275:       PetscEnum MATOP_SCALE_SYSTEM
276:       PetscEnum MATOP_UNSCALE_SYSTEM
277:       PetscEnum MATOP_SET_LOCAL_TO_GLOBAL_MAP
278:       PetscEnum MATOP_SET_VALUES_LOCAL
279:       PetscEnum MATOP_ZERO_ROWS_LOCAL
280:       PetscEnum MATOP_GET_ROW_MAX_ABS
281:       PetscEnum MATOP_GET_ROW_MIN_ABS
282:       PetscEnum MATOP_CONVERT
283:       PetscEnum MATOP_SET_COLORING
284:       PetscEnum MATOP_SET_VALUES_ADIC
285:       PetscEnum MATOP_SET_VALUES_ADIFOR
286:       PetscEnum MATOP_FD_COLORING_APPLY
287:       PetscEnum MATOP_SET_FROM_OPTIONS
288:       PetscEnum MATOP_MULT_CON
289:       PetscEnum MATOP_MULT_TRANSPOSE_CON
290:       PetscEnum MATOP_PERMUTE_SPARSIFY
291:       PetscEnum MATOP_MULT_MULTIPLE
292:       PetscEnum MATOP_SOLVE_MULTIPLE
293:       PetscEnum MATOP_GET_INERTIA
294:       PetscEnum MATOP_LOAD
295:       PetscEnum MATOP_IS_SYMMETRIC
296:       PetscEnum MATOP_IS_HERMITIAN
297:       PetscEnum MATOP_IS_STRUCTURALLY_SYMMETRIC
298:       PetscEnum MATOP_DUMMY
299:       PetscEnum MATOP_GET_VECS
300:       PetscEnum MATOP_MAT_MULT
301:       PetscEnum MATOP_MAT_MULT_SYMBOLIC
302:       PetscEnum MATOP_MAT_MULT_NUMERIC
303:       PetscEnum MATOP_PTAP
304:       PetscEnum MATOP_PTAP_SYMBOLIC
305:       PetscEnum MATOP_PTAP_NUMERIC
306:       PetscEnum MATOP_MAT_MULTTRANSPOSE
307:       PetscEnum MATOP_MAT_MULTTRANSPOSE_SYM
308:       PetscEnum MATOP_MAT_MULTTRANSPOSE_NUM
309:       PetscEnum MATOP_PTAP_SYMBOLIC_SEQAIJ
310:       PetscEnum MATOP_PTAP_NUMERIC_SEQAIJ
311:       PetscEnum MATOP_PTAP_SYMBOLIC_MPIAIJ
312:       PetscEnum MATOP_PTAP_NUMERIC_MPIAIJ
313:       PetscEnum MATOP_CONJUGATE
314:       PetscEnum MATOP_SET_SIZES
315:       PetscEnum MATOP_SET_VALUES_ROW
316:       PetscEnum MATOP_REAL_PART
317:       PetscEnum MATOP_IMAG_PART
318:       PetscEnum MATOP_GET_ROW_UTRIANGULAR
319:       PetscEnum MATOP_RESTORE_ROW_UTRIANGULAR
320:       PetscEnum MATOP_MATSOLVE
321:       PetscEnum MATOP_GET_REDUNDANTMATRIX
322:       PetscEnum MATOP_GET_ROW_MIN
323:       PetscEnum MATOP_GET_COLUMN_VEC
324:       PetscEnum MATOP_MISSING_DIAGONAL
325:       PetscEnum MATOP_MATGETSEQNONZEROSTRUCTURE
326:       PetscEnum MATOP_CREATE
327:       PetscEnum MATOP_GET_GHOSTS
328:       PetscEnum MATOP_GET_LOCALSUBMATRIX
329:       PetscEnum MATOP_RESTORE_LOCALSUBMATRIX
330:       PetscEnum MATOP_MULT_DIAGONAL_BLOCK
331:       PetscEnum MATOP_HERMITIANTRANSPOSE
332:       PetscEnum MATOP_MULTHERMITIANTRANSPOSE
333:       PetscEnum MATOP_MULTHERMITIANTRANSPOSEADD
334:       PetscEnum MATOP_GETMULTIPROCBLOCK
335:       PetscEnum MATOP_GETCOLUMNNORMS
336:       PetscEnum MATOP_GET_SUBMATRICES_PARALLEL
337:       PetscEnum MATOP_SET_VALUES_BATCH

339:       parameter(MATOP_SET_VALUES=0)
340:       parameter(MATOP_GET_ROW=1)
341:       parameter(MATOP_RESTORE_ROW=2)
342:       parameter(MATOP_MULT=3)
343:       parameter(MATOP_MULT_ADD=4)
344:       parameter(MATOP_MULT_TRANSPOSE=5)
345:       parameter(MATOP_MULT_TRANSPOSE_ADD=6)
346:       parameter(MATOP_SOLVE=7)
347:       parameter(MATOP_SOLVE_ADD=8)
348:       parameter(MATOP_SOLVE_TRANSPOSE=9)
349:       parameter(MATOP_SOLVE_TRANSPOSE_ADD=10)
350:       parameter(MATOP_LUFACTOR=11)
351:       parameter(MATOP_CHOLESKYFACTOR=12)
352:       parameter(MATOP_SOR=13)
353:       parameter(MATOP_TRANSPOSE=14)
354:       parameter(MATOP_GETINFO=15)
355:       parameter(MATOP_EQUAL=16)
356:       parameter(MATOP_GET_DIAGONAL=17)
357:       parameter(MATOP_DIAGONAL_SCALE=18)
358:       parameter(MATOP_NORM=19)
359:       parameter(MATOP_ASSEMBLY_BEGIN=20)
360:       parameter(MATOP_ASSEMBLY_END=21)
361:       parameter(MATOP_SET_OPTION=22)
362:       parameter(MATOP_ZERO_ENTRIES=23)
363:       parameter(MATOP_ZERO_ROWS=24)
364:       parameter(MATOP_LUFACTOR_SYMBOLIC=25)
365:       parameter(MATOP_LUFACTOR_NUMERIC=26)
366:       parameter(MATOP_CHOLESKY_FACTOR_SYMBOLIC=27)
367:       parameter(MATOP_CHOLESKY_FACTOR_NUMERIC=28)
368:       parameter(MATOP_SETUP_PREALLOCATION=29)
369:       parameter(MATOP_ILUFACTOR_SYMBOLIC=30)
370:       parameter(MATOP_ICCFACTOR_SYMBOLIC=31)
371:       parameter(MATOP_GET_ARRAY=32)
372:       parameter(MATOP_RESTORE_ARRAY=33)
373:       parameter(MATOP_DUPLICATE=34)
374:       parameter(MATOP_FORWARD_SOLVE=35)
375:       parameter(MATOP_BACKWARD_SOLVE=36)
376:       parameter(MATOP_ILUFACTOR=37)
377:       parameter(MATOP_ICCFACTOR=38)
378:       parameter(MATOP_AXPY=39)
379:       parameter(MATOP_GET_SUBMATRICES=40)
380:       parameter(MATOP_INCREASE_OVERLAP=41)
381:       parameter(MATOP_GET_VALUES=42)
382:       parameter(MATOP_COPY=43)
383:       parameter(MATOP_GET_ROW_MAX=44)
384:       parameter(MATOP_SCALE=45)
385:       parameter(MATOP_SHIFT=46)
386:       parameter(MATOP_DIAGONAL_SET=47)
387:       parameter(MATOP_ILUDT_FACTOR=48)
388:       parameter(MATOP_SET_BLOCK_SIZE=49)
389:       parameter(MATOP_GET_ROW_IJ=50)
390:       parameter(MATOP_RESTORE_ROW_IJ=51)
391:       parameter(MATOP_GET_COLUMN_IJ=52)
392:       parameter(MATOP_RESTORE_COLUMN_IJ=53)
393:       parameter(MATOP_FDCOLORING_CREATE=54)
394:       parameter(MATOP_COLORING_PATCH=55)
395:       parameter(MATOP_SET_UNFACTORED=56)
396:       parameter(MATOP_PERMUTE=57)
397:       parameter(MATOP_SET_VALUES_BLOCKED=58)
398:       parameter(MATOP_GET_SUBMATRIX=59)
399:       parameter(MATOP_DESTROY=60)
400:       parameter(MATOP_VIEW=61)
401:       parameter(MATOP_CONVERT_FROM=62)
402:       parameter(MATOP_USE_SCALED_FORM=63)
403:       parameter(MATOP_SCALE_SYSTEM=64)
404:       parameter(MATOP_UNSCALE_SYSTEM=65)
405:       parameter(MATOP_SET_LOCAL_TO_GLOBAL_MAP=66)
406:       parameter(MATOP_SET_VALUES_LOCAL=67)
407:       parameter(MATOP_ZERO_ROWS_LOCAL=68)
408:       parameter(MATOP_GET_ROW_MAX_ABS=69)
409:       parameter(MATOP_GET_ROW_MIN_ABS=70)
410:       parameter(MATOP_CONVERT=71)
411:       parameter(MATOP_SET_COLORING=72)
412:       parameter(MATOP_SET_VALUES_ADIC=73)
413:       parameter(MATOP_SET_VALUES_ADIFOR=74)
414:       parameter(MATOP_FD_COLORING_APPLY=75)
415:       parameter(MATOP_SET_FROM_OPTIONS=76)
416:       parameter(MATOP_MULT_CON=77)
417:       parameter(MATOP_MULT_TRANSPOSE_CON=78)
418:       parameter(MATOP_PERMUTE_SPARSIFY=79)
419:       parameter(MATOP_MULT_MULTIPLE=80)
420:       parameter(MATOP_SOLVE_MULTIPLE=81)
421:       parameter(MATOP_GET_INERTIA=82)
422:       parameter(MATOP_LOAD=83)
423:       parameter(MATOP_IS_SYMMETRIC=84)
424:       parameter(MATOP_IS_HERMITIAN=85)
425:       parameter(MATOP_IS_STRUCTURALLY_SYMMETRIC=86)
426:       parameter(MATOP_DUMMY=87)
427:       parameter(MATOP_GET_VECS=88)
428:       parameter(MATOP_MAT_MULT=89)
429:       parameter(MATOP_MAT_MULT_SYMBOLIC=90)
430:       parameter(MATOP_MAT_MULT_NUMERIC=91)
431:       parameter(MATOP_PTAP=92)
432:       parameter(MATOP_PTAP_SYMBOLIC=93)
433:       parameter(MATOP_PTAP_NUMERIC=94)
434:       parameter(MATOP_MAT_MULTTRANSPOSE=95)
435:       parameter(MATOP_MAT_MULTTRANSPOSE_SYM=96)
436:       parameter(MATOP_MAT_MULTTRANSPOSE_NUM=97)
437:       parameter(MATOP_PTAP_SYMBOLIC_SEQAIJ=98)
438:       parameter(MATOP_PTAP_NUMERIC_SEQAIJ=99)
439:       parameter(MATOP_PTAP_SYMBOLIC_MPIAIJ=100)
440:       parameter(MATOP_PTAP_NUMERIC_MPIAIJ=101)
441:       parameter(MATOP_CONJUGATE=102)
442:       parameter(MATOP_SET_SIZES=103)
443:       parameter(MATOP_SET_VALUES_ROW=104)
444:       parameter(MATOP_REAL_PART=105)
445:       parameter(MATOP_IMAG_PART=106)
446:       parameter(MATOP_GET_ROW_UTRIANGULAR=107)
447:       parameter(MATOP_RESTORE_ROW_UTRIANGULAR=108)
448:       parameter(MATOP_MATSOLVE=109)
449:       parameter(MATOP_GET_REDUNDANTMATRIX=110)
450:       parameter(MATOP_GET_ROW_MIN=111)
451:       parameter(MATOP_GET_COLUMN_VEC=112)
452:       parameter(MATOP_MISSING_DIAGONAL=113)
453:       parameter(MATOP_MATGETSEQNONZEROSTRUCTURE=114)
454:       parameter(MATOP_CREATE=115)
455:       parameter(MATOP_GET_GHOSTS=116)
456:       parameter(MATOP_GET_LOCALSUBMATRIX=117)
457:       parameter(MATOP_RESTORE_LOCALSUBMATRIX=118)
458:       parameter(MATOP_MULT_DIAGONAL_BLOCK=119)
459:       parameter(MATOP_HERMITIANTRANSPOSE=120)
460:       parameter(MATOP_MULTHERMITIANTRANSPOSE=121)
461:       parameter(MATOP_MULTHERMITIANTRANSPOSEADD=122)
462:       parameter(MATOP_GETMULTIPROCBLOCK=123)
463:       parameter(MATOP_GETCOLUMNNORMS=125)
464:       parameter(MATOP_GET_SUBMATRICES_PARALLEL=128)
465:       parameter(MATOP_SET_VALUES_BATCH=129)
466: !
467: !
468: !
469:       PetscEnum MATRIX_BINARY_FORMAT_DENSE
470:       parameter (MATRIX_BINARY_FORMAT_DENSE=-1)
471: !
472: ! MPChacoGlobalType
473:       PetscEnum MP_CHACO_MULTILEVEL_KL
474:       PetscEnum MP_CHACO_SPECTRAL
475:       PetscEnum MP_CHACO_LINEAR
476:       PetscEnum MP_CHACO_RANDOM
477:       PetscEnum MP_CHACO_SCATTERED
478:       parameter (MP_CHACO_MULTILEVEL_KL=0,MP_CHACO_SPECTRAL=1)
479:       parameter (MP_CHACO_LINEAR=2,MP_CHACO_RANDOM=3)
480:       parameter (MP_CHACO_SCATTERED=4)
481: !
482: ! MPChacoLocalType
483:       PetscEnum MP_CHACO_KERNIGHAN_LIN
484:       PetscEnum MP_CHACO_NONE
485:       parameter (MP_CHACO_KERNIGHAN_LIN=0, MP_CHACO_NONE=1)
486: !
487: ! MPChacoEigenType
488:       PetscEnum MP_CHACO_LANCZOS
489:       PetscEnum MP_CHACO_RQI_SYMMLQ
490:       parameter (MP_CHACO_LANCZOS=0, MP_CHACO_RQI_SYMMLQ=1)
491: !
492: ! MPPTScotchStrategyType
493:       PetscEnum MP_PTSCOTCH_QUALITY
494:       PetscEnum MP_PTSCOTCH_SPEED
495:       PetscEnum MP_PTSCOTCH_BALANCE
496:       PetscEnum MP_PTSCOTCH_SAFETY
497:       PetscEnum MP_PTSCOTCH_SCALABILITY
498:       parameter (MP_PTSCOTCH_QUALITY = 0)
499:       parameter (MP_PTSCOTCH_SPEED = 1)
500:       parameter (MP_PTSCOTCH_BALANCE = 2)
501:       parameter (MP_PTSCOTCH_SAFETY = 3)
502:       parameter (MP_PTSCOTCH_SCALABILITY = 4)

504: ! PetscScalarPrecision
505:       PetscEnum PETSC_SCALAR_DOUBLE
506:       PetscEnum PETSC_SCALAR_SINGLE
507:       PetscEnum PETSC_SCALAR_LONG_DOUBLE
508:       parameter (PETSC_SCALAR_DOUBLE=0,PETSC_SCALAR_SINGLE=1)
509:       parameter (PETSC_SCALAR_LONG_DOUBLE=2)

511: !
512: !  End of Fortran include file for the Mat package in PETSc
513: !