Actual source code: petscmat.h90

petsc-3.9.4 2018-09-11
Report Typos and Errors


  3: ! rename MAT_INFO_SIZE and MAT_FACTORINFO_SIZE to enable reuse here
  4: #define MAT_INFO_SIZE MAT_INFO_SIZE_MOD
  5: #define MAT_FACTORINFO_SIZE MAT_FACTORINFO_SIZE_MOD
  6:       Interface
  7:         Subroutine MatFDColoringGetPerturbedColumnsF90(i,array,ierr)
  8:           use petscmatdef
  9:           PetscInt, pointer :: array(:)
 10:           PetscErrorCode  ierr
 11:          MatFDColoring       i
 12:         End Subroutine
 13:       End Interface


 16:       Interface
 17:         Subroutine MatFDColoringRestorePerturbedColumnsF90(i,array,ierr)
 18:           use petscmatdef
 19:           PetscInt, pointer :: array(:)
 20:           PetscErrorCode ierr
 21:          MatFDColoring      i
 22:         End Subroutine
 23:       End Interface

 25:       Interface
 26:       subroutine MatCreateMPIAIJWithSplitArrays(a,b,c,d,e,f,g,h,i,j,k,l,&
 27:      &z)
 28:        use petscmatdef
 29:        integer a ! MPI_Comm
 30:        PetscInt b ! PetscInt
 31:        PetscInt c ! PetscInt
 32:        PetscInt d ! PetscInt
 33:        PetscInt e ! PetscInt
 34:        PetscInt f (*) ! PetscInt
 35:        PetscInt g (*) ! PetscInt
 36:        PetscScalar h (*) ! PetscScalar
 37:        PetscInt i (*) ! PetscInt
 38:        PetscInt j (*) ! PetscInt
 39:        PetscScalar k (*) ! PetscScalar
 40:        Mat l ! Mat
 41:        integer z
 42:        end subroutine
 43:       End Interface

 45:       interface MatNullSpaceCreate
 46:       subroutine MatNullSpaceCreate1(a,b,c,d,e,z)
 47:       use petscmatdef
 48:        integer a
 49:        PetscBool b
 50:        PetscInt c
 51:        Vec d (*)
 52:        MatNullSpace e
 53:        integer z
 54:        end subroutine
 55:       subroutine MatNullSpaceCreate0(a,b,c,d,e,z)
 56:       use petscmatdef
 57:        integer a
 58:        PetscBool b
 59:        PetscInt c
 60:        Vec d
 61:        MatNullSpace e
 62:        integer z
 63:        end subroutine
 64:       end interface

 66:       interface MatGetSize
 67:       subroutine MatGetSize00(a,b,c,z)
 68:       use petscmatdef
 69:        Mat a
 70:        PetscInt b
 71:        PetscInt c
 72:        integer z
 73:        end subroutine
 74:       subroutine MatGetSize10(a,b,c,z)
 75:       use petscmatdef
 76:        Mat a
 77:        PetscInt b(*)
 78:        PetscInt c
 79:        integer z
 80:        end subroutine
 81:       subroutine MatGetSize01(a,b,c,z)
 82:       use petscmatdef
 83:        Mat a
 84:        PetscInt b
 85:        PetscInt c(*)
 86:        integer z
 87:        end subroutine
 88:       end interface

 90:       interface MatGetLocalSize
 91:       subroutine MatGetLocalSize00(a,b,c,z)
 92:       use petscmatdef
 93:        Mat a
 94:        PetscInt b
 95:        PetscInt c
 96:        integer z
 97:        end subroutine
 98:       subroutine MatGetLocalSize10(a,b,c,z)
 99:       use petscmatdef
100:        Mat a
101:        PetscInt b(*)
102:        PetscInt c
103:        integer z
104:        end subroutine
105:       subroutine MatGetLocalSize01(a,b,c,z)
106:       use petscmatdef
107:        Mat a
108:        PetscInt b
109:        PetscInt c(*)
110:        integer z
111:        end subroutine
112:        end interface

114:         Interface
115:         subroutine MatCreateMPIAIJ(a,b,c,d,e,f,g,h,i,j,z)
116:           use petscmatdef
117:           MPI_Comm a
118:           PetscInt b
119:           PetscInt c
120:           PetscInt d
121:           PetscInt e
122:           PetscInt f
123:           PetscInt g (*)
124:           PetscInt h
125:           PetscInt i (*)
126:           Mat j
127:           integer z
128:         end subroutine

130:         subroutine MatCreateSchurComplement(a,b,c,d,e,f,z)
131:           use petscmatdef
132:           Mat a,b,c,d,e,f
133:           integer z
134:         end subroutine

136:         subroutine MatCreateSeqAIJ(a,b,c,d,e,f,z)
137:           use petscmatdef
138:           MPI_Comm a
139:           PetscInt b
140:           PetscInt c
141:           PetscInt d
142:           PetscInt e(*)
143:           Mat f
144:           integer z
145:         end subroutine

147:         subroutine MatSeqAIJSetPreallocation(a,b,c,z)
148:           use petscmatdef
149:           Mat a
150:           PetscInt b
151:           PetscInt c(*)
152:           integer z
153:         end subroutine

155:         subroutine MatMPIAIJSetPreallocation(a,b,c,d,e,z)
156:           use petscmatdef
157:           Mat a
158:           PetscInt b
159:           PetscInt c(*)
160:           PetscInt d
161:           PetscInt e(*)
162:           integer z
163:         end subroutine

165:         subroutine MatXAIJSetPreallocationb(a,b,c,d,e,f,z)
166:           use petscmatdef
167:           Mat a ! Mat
168:           PetscInt b ! PetscInt
169:           PetscInt c (*) ! PetscInt
170:           PetscInt d (*) ! PetscInt
171:           PetscInt e (*) ! PetscInt
172:           PetscInt f (*) ! PetscInt
173:           integer z
174:         end subroutine
175:         end interface

177:         Interface MatSetValues
178:         ! picky Fortran requires seperate prototypes if args
179:         ! are arrays or scalars
180:         subroutine MatSetValues0(a,b,c,d,e,f,g,z)
181:           use petscmatdef
182:           Mat a ! Mat
183:           PetscInt b ! PetscInt
184:           PetscInt c (*) ! PetscInt
185:           PetscInt d ! PetscInt
186:           PetscInt e (*) ! PetscInt
187:           PetscScalar f (*) ! PetscScalar
188:           InsertMode g ! InsertMode
189:           integer z
190:         end subroutine
191:         subroutine MatSetValuesnn1(a,b,c,d,e,f,g,z)
192:           use petscmatdef
193:           Mat a ! Mat
194:           PetscInt b ! PetscInt
195:           PetscInt c (*) ! PetscInt
196:           PetscInt d ! PetscInt
197:           PetscInt e (*) ! PetscInt
198:           PetscScalar f  ! PetscScalar
199:           InsertMode g ! InsertMode
200:           integer z
201:         end subroutine
202:         subroutine MatSetValuesnnnn(a,b,c,d,e,f,g,z)
203:           use petscmatdef
204:           Mat a ! Mat
205:           PetscInt b ! PetscInt
206:           PetscInt c (*) ! PetscInt
207:           PetscInt d ! PetscInt
208:           PetscInt e (*) ! PetscInt
209:           PetscScalar f(1,1)  ! PetscScalar
210:           InsertMode g ! InsertMode
211:           integer z
212:         end subroutine
213:         subroutine MatSetValues11(a,b,c,d,e,f,g,z)
214:           use petscmatdef
215:           Mat a ! Mat
216:           PetscInt b ! PetscInt
217:           PetscInt c ! PetscInt
218:           PetscInt d ! PetscInt
219:           PetscInt e ! PetscInt
220:           PetscScalar f  ! PetscScalar
221:           InsertMode g ! InsertMode
222:           integer z
223:         end subroutine
224:         subroutine MatSetValues1n(a,b,c,d,e,f,g,z)
225:           use petscmatdef
226:           Mat a ! Mat
227:           PetscInt b ! PetscInt
228:           PetscInt c ! PetscInt
229:           PetscInt d ! PetscInt
230:           PetscInt e (*) ! PetscInt
231:           PetscScalar f (*)  ! PetscScalar
232:           InsertMode g ! InsertMode
233:           integer z
234:         end subroutine
235:         subroutine MatSetValuesn1(a,b,c,d,e,f,g,z)
236:           use petscmatdef
237:           Mat a ! Mat
238:           PetscInt b ! PetscInt
239:           PetscInt c (*) ! PetscInt
240:           PetscInt d ! PetscInt
241:           PetscInt e ! PetscInt
242:           PetscScalar f (*) ! PetscScalar
243:           InsertMode g ! InsertMode
244:           integer z
245:         end subroutine
246:       End Interface MatSetValues

248:       Interface MatSetValuesLocal
249:         ! picky Fortran requires seperate prototypes if args
250:         ! are arrays or scalars
251:         subroutine MatSetValuesLocal0(a,b,c,d,e,f,g,z)
252:           use petscmatdef
253:           Mat a ! Mat
254:           PetscInt b ! PetscInt
255:           PetscInt c (*) ! PetscInt
256:           PetscInt d ! PetscInt
257:           PetscInt e (*) ! PetscInt
258:           PetscScalar f (*) ! PetscScalar
259:           InsertMode g ! InsertMode
260:           integer z
261:         end subroutine
262:         subroutine MatSetValuesLocal11(a,b,c,d,e,f,g,z)
263:           use petscmatdef
264:           Mat a ! Mat
265:           PetscInt b ! PetscInt
266:           PetscInt c ! PetscInt
267:           PetscInt d ! PetscInt
268:           PetscInt e ! PetscInt
269:           PetscScalar f(*)  ! PetscScalar
270:           InsertMode g ! InsertMode
271:           integer z
272:         end subroutine
273:         subroutine MatSetValuesLocal11nn(a,b,c,d,e,f,g,z)
274:           use petscmatdef
275:           Mat a ! Mat
276:           PetscInt b ! PetscInt
277:           PetscInt c ! PetscInt
278:           PetscInt d ! PetscInt
279:           PetscInt e ! PetscInt
280:           PetscScalar f(1,1)  ! PetscScalar
281:           InsertMode g ! InsertMode
282:           integer z
283:         end subroutine
284:         subroutine MatSetValuesLocal111(a,b,c,d,e,f,g,z)
285:           use petscmatdef
286:           Mat a ! Mat
287:           PetscInt b ! PetscInt
288:           PetscInt c ! PetscInt
289:           PetscInt d ! PetscInt
290:           PetscInt e ! PetscInt
291:           PetscScalar f  ! PetscScalar
292:           InsertMode g ! InsertMode
293:           integer z
294:         end subroutine
295:         subroutine MatSetValuesLocal1n(a,b,c,d,e,f,g,z)
296:           use petscmatdef
297:           Mat a ! Mat
298:           PetscInt b ! PetscInt
299:           PetscInt c ! PetscInt
300:           PetscInt d ! PetscInt
301:           PetscInt e (*) ! PetscInt
302:           PetscScalar f (*)  ! PetscScalar
303:           InsertMode g ! InsertMode
304:           integer z
305:         end subroutine
306:         subroutine MatSetValuesLocaln1(a,b,c,d,e,f,g,z)
307:           use petscmatdef
308:           Mat a ! Mat
309:           PetscInt b ! PetscInt
310:           PetscInt c (*) ! PetscInt
311:           PetscInt d ! PetscInt
312:           PetscInt e ! PetscInt
313:           PetscScalar f (*) ! PetscScalar
314:           InsertMode g ! InsertMode
315:           integer z
316:         end subroutine
317:       End Interface MatSetValuesLocal

319:       Interface MatSetValuesBlockedLocal
320:         ! picky Fortran requires seperate prototypes if args
321:         ! are arrays or scalars
322:         subroutine MatSetValuesBlockedLocal0(a,b,c,d,e,f,g,z)
323:           use petscmatdef
324:           Mat a ! Mat
325:           PetscInt b ! PetscInt
326:           PetscInt c (*) ! PetscInt
327:           PetscInt d ! PetscInt
328:           PetscInt e (*) ! PetscInt
329:           PetscScalar f (*) ! PetscScalar
330:           InsertMode g ! InsertMode
331:           integer z
332:         end subroutine
333:         subroutine MatSetValuesBlockedLocal11(a,b,c,d,e,f,g,z)
334:           use petscmatdef
335:           Mat a ! Mat
336:           PetscInt b ! PetscInt
337:           PetscInt c ! PetscInt
338:           PetscInt d ! PetscInt
339:           PetscInt e ! PetscInt
340:           PetscScalar f(*)  ! PetscScalar
341:           InsertMode g ! InsertMode
342:           integer z
343:         end subroutine
344:         subroutine MatSetValuesBlockedLocal111(a,b,c,d,e,f,g,z)
345:           use petscmatdef
346:           Mat a ! Mat
347:           PetscInt b ! PetscInt
348:           PetscInt c ! PetscInt
349:           PetscInt d ! PetscInt
350:           PetscInt e ! PetscInt
351:           PetscScalar f(1,1)  ! PetscScalar
352:           InsertMode g ! InsertMode
353:           integer z
354:         end subroutine
355:         subroutine MatSetValuesBlockedLocal1n(a,b,c,d,e,f,g,z)
356:           use petscmatdef
357:           Mat a ! Mat
358:           PetscInt b ! PetscInt
359:           PetscInt c ! PetscInt
360:           PetscInt d ! PetscInt
361:           PetscInt e (*) ! PetscInt
362:           PetscScalar f (*)  ! PetscScalar
363:           InsertMode g ! InsertMode
364:           integer z
365:         end subroutine
366:         subroutine MatSetValuesBlockedLocaln1(a,b,c,d,e,f,g,z)
367:           use petscmatdef
368:           Mat a ! Mat
369:           PetscInt b ! PetscInt
370:           PetscInt c (*) ! PetscInt
371:           PetscInt d ! PetscInt
372:           PetscInt e ! PetscInt
373:           PetscScalar f (*) ! PetscScalar
374:           InsertMode g ! InsertMode
375:           integer z
376:         end subroutine
377:       End Interface MatSetValuesBlockedLocal

379:       Interface MatSetValuesBlocked
380:         ! picky Fortran requires seperate prototypes if args
381:         ! are arrays or scalars
382:         subroutine MatSetValuesBlocked2(a,b,c,d,e,f,g,z)
383:           use petscmatdef
384:           Mat a ! Mat
385:           PetscInt b ! PetscInt
386:           PetscInt c (*) ! PetscInt
387:           PetscInt d ! PetscInt
388:           PetscInt e (*) ! PetscInt
389:           PetscScalar, pointer :: f (:,:)
390:           InsertMode g ! InsertMode
391:           integer z
392:         end subroutine
393:         subroutine MatSetValuesBlocked0(a,b,c,d,e,f,g,z)
394:           use petscmatdef
395:           Mat a ! Mat
396:           PetscInt b ! PetscInt
397:           PetscInt c (*) ! PetscInt
398:           PetscInt d ! PetscInt
399:           PetscInt e (*) ! PetscInt
400:           PetscScalar f (*) ! PetscScalar
401:           InsertMode g ! InsertMode
402:           integer z
403:         end subroutine
404:         subroutine MatSetValuesBlocked11(a,b,c,d,e,f,g,z)
405:           use petscmatdef
406:           Mat a ! Mat
407:           PetscInt b ! PetscInt
408:           PetscInt c ! PetscInt
409:           PetscInt d ! PetscInt
410:           PetscInt e ! PetscInt
411:           PetscScalar f(*)  ! PetscScalar
412:           InsertMode g ! InsertMode
413:           integer z
414:         end subroutine
415:         subroutine MatSetValuesBlocked111(a,b,c,d,e,f,g,z)
416:           use petscmatdef
417:           Mat a ! Mat
418:           PetscInt b ! PetscInt
419:           PetscInt c ! PetscInt
420:           PetscInt d ! PetscInt
421:           PetscInt e ! PetscInt
422:           PetscScalar f(1,1)  ! PetscScalar
423:           InsertMode g ! InsertMode
424:           integer z
425:         end subroutine
426:         subroutine MatSetValuesBlocked1n(a,b,c,d,e,f,g,z)
427:           use petscmatdef
428:           Mat a ! Mat
429:           PetscInt b ! PetscInt
430:           PetscInt c ! PetscInt
431:           PetscInt d ! PetscInt
432:           PetscInt e (*) ! PetscInt
433:           PetscScalar f (*)  ! PetscScalar
434:           InsertMode g ! InsertMode
435:           integer z
436:         end subroutine
437:         subroutine MatSetValuesBlockedn1(a,b,c,d,e,f,g,z)
438:           use petscmatdef
439:           Mat xa ! Mat
440:           PetscInt b ! PetscInt
441:           PetscInt c (*) ! PetscInt
442:           PetscInt d ! PetscInt
443:           PetscInt e ! PetscInt
444:           PetscScalar f (*) ! PetscScalar
445:           InsertMode g ! InsertMode
446:           integer z
447:         end subroutine
448:       End Interface MatSetValuesBlocked

450:       Interface
451:         Subroutine MatGetRow(v,row,ncols,cols,vals,ierr)
452:           use petscmatdef
453:           PetscInt cols(*)
454:           PetscInt  row,ncols
455:           PetscScalar vals(*)
456:           PetscErrorCode ierr
457:           Mat     v
458:         End Subroutine
459:       End Interface

461:       Interface
462:         Subroutine MatRestoreRow(v,row,ncols,cols,vals,ierr)
463:           use petscmatdef
464:           PetscInt  cols(*)
465:           PetscInt  row,ncols
466:           PetscScalar vals(*)
467:           PetscErrorCode ierr
468:           Mat     v
469:         End Subroutine
470:       End Interface

472:       Interface
473:         Subroutine MatGetRowIJF90(v,sh,sym,bl,n,ia,ja,d,ierr)
474:           use petscmatdef
475:           PetscInt, pointer :: ia(:), ja(:)
476:           PetscInt  n,sh
477:           PetscBool  sym,bl,d
478:           PetscErrorCode ierr
479:           Mat     v
480:         End Subroutine
481:       End Interface

483:       Interface
484:         Subroutine MatRestoreRowIJF90(v,s,sy,b,n,ia,ja,d,ierr)
485:           use petscmatdef
486:           PetscInt, pointer :: ia(:), ja(:)
487:           PetscInt  n,s
488:           PetscBool  sy,b,d
489:           PetscErrorCode ierr
490:           Mat     v
491:         End Subroutine
492:       End Interface

494:       Interface
495:         Subroutine MatDenseGetArrayF90(v,array,ierr)
496:           use petscmatdef
497:           PetscScalar, pointer :: array(:,:)
498:           PetscErrorCode ierr
499:           Mat     v
500:         End Subroutine
501:       End Interface


504:       Interface
505:         Subroutine MatDenseRestoreArrayF90(v,array,ierr)
506:           use petscmatdef
507:           PetscScalar, pointer :: array(:,:)
508:           PetscErrorCode ierr
509:           Mat     v
510:         End Subroutine
511:       End Interface

513:       Interface
514:         Subroutine MatSeqAIJGetArrayF90(v,array,ierr)
515:           use petscmatdef
516:           PetscScalar, pointer :: array(:)
517:           PetscErrorCode ierr
518:           Mat     v
519:         End Subroutine
520:       End Interface


523:       Interface
524:         Subroutine MatSeqAIJRestoreArrayF90(v,array,ierr)
525:           use petscmatdef
526:           PetscScalar, pointer :: array(:)
527:           PetscErrorCode ierr
528:           Mat     v
529:         End Subroutine
530:       End Interface

532:       Interface
533:         Subroutine MatGetGhostsF90(v,array,ierr)
534:           use petscmatdef
535:           PetscInt, pointer :: array(:)
536:           PetscErrorCode ierr
537:           Mat     v
538:         End Subroutine
539:       End Interface

541:       Interface
542:          Subroutine MatGetInfo(v, flag, info ,ierr)
543:          use petscmatdef
544:          Mat  v
545:          MatInfoType flag
546: #include "../src/mat/f90-mod/petscmatinfosize.h"
547:          MatInfo info(MAT_INFO_SIZE)
548:          PetscErrorCode ierr
549:        End Subroutine
550:       End Interface

552:       Interface
553:          subroutine MatLUFactor(v, row, col, info ,ierr)
554:          use petscmatdef
555:          Mat  v
556:          IS row
557:          IS col
558: #include "../src/mat/f90-mod/petscmatfactorinfosize.h"
559:          MatFactorInfo info(MAT_FACTORINFO_SIZE)
560:          PetscErrorCode ierr
561:          end subroutine
562:       End Interface

564:       Interface
565:          subroutine MatILUFactor(v, row, col, info ,ierr)
566:          use petscmatdef
567:          Mat  v
568:          IS row
569:          IS col
570: #include "../src/mat/f90-mod/petscmatfactorinfosize.h"
571:          MatFactorInfo info(MAT_FACTORINFO_SIZE)
572:          PetscErrorCode ierr
573:          end subroutine
574:       End Interface

576:       Interface
577:          subroutine MatLUFactorSymbolic(fact, v, row, col, info ,ierr)
578:          use petscmatdef
579:          Mat  fact
580:          Mat  v
581:          IS row
582:          IS col
583: #include "../src/mat/f90-mod/petscmatfactorinfosize.h"
584:          MatFactorInfo info(MAT_FACTORINFO_SIZE)
585:          PetscErrorCode ierr
586:          end subroutine
587:       End Interface

589:       Interface
590:          subroutine MatLUFactorNumeric(fact, v, info ,ierr)
591:          use petscmatdef
592:          Mat  fact
593:          Mat  v
594: #include "../src/mat/f90-mod/petscmatfactorinfosize.h"
595:          MatFactorInfo info(MAT_FACTORINFO_SIZE)
596:          PetscErrorCode ierr
597:          end subroutine
598:       End Interface

600:       Interface
601:          subroutine MatCholeskyFactor(v, perm, info ,ierr)
602:          use petscmatdef
603:          Mat  v
604:          IS perm
605: #include "../src/mat/f90-mod/petscmatfactorinfosize.h"
606:          MatFactorInfo info(MAT_FACTORINFO_SIZE)
607:          PetscErrorCode ierr
608:          end subroutine
609:       End Interface

611:       Interface
612:          subroutine MatCholeskyFactorSymbolic(fact,v,perm,info,ierr)
613:          use petscmatdef
614:          Mat  fact
615:          Mat  v
616:          IS perm
617: #include "../src/mat/f90-mod/petscmatfactorinfosize.h"
618:          MatFactorInfo info(MAT_FACTORINFO_SIZE)
619:          PetscErrorCode ierr
620:          end subroutine
621:       End Interface

623:       Interface
624:          subroutine MatCholeskyFactorNumeric(fact, v, info ,ierr)
625:          use petscmatdef
626:          Mat  fact
627:          Mat  v
628: #include "../src/mat/f90-mod/petscmatfactorinfosize.h"
629:          MatFactorInfo info(MAT_FACTORINFO_SIZE)
630:          PetscErrorCode ierr
631:          end subroutine
632:       End Interface

634:       Interface
635:          subroutine MatILUFactorSymbolic(fact,v,row,col,info,ierr)
636:          use petscmatdef
637:          Mat  fact
638:          Mat  v
639:          IS row
640:          IS col
641: #include "../src/mat/f90-mod/petscmatfactorinfosize.h"
642:          MatFactorInfo info(MAT_FACTORINFO_SIZE)
643:          PetscErrorCode ierr
644:          end subroutine
645:       End Interface

647:       Interface
648:          subroutine MatICCFactorSymbolic(fact, v, perm, info ,ierr)
649:          use petscmatdef
650:          Mat  fact
651:          Mat  v
652:          IS perm
653: #include "../src/mat/f90-mod/petscmatfactorinfosize.h"
654:          MatFactorInfo info(MAT_FACTORINFO_SIZE)
655:          PetscErrorCode ierr
656:          end subroutine
657:       End Interface

659:       Interface
660:          subroutine MatICCFactor(v, row, info ,ierr)
661:          use petscmatdef
662:          Mat  v
663:          IS row
664: #include "../src/mat/f90-mod/petscmatfactorinfosize.h"
665:          MatFactorInfo info(MAT_FACTORINFO_SIZE)
666:          PetscErrorCode ierr
667:          end subroutine
668:       End Interface

670:       Interface
671:          subroutine MatGetGetNullSpace(A,n,ierr)
672:          use petscmatdef
673:          Mat  A
674:          MatNullSpace n
675:          PetscErrorCode ierr
676:          end subroutine
677:       End Interface

679:       Interface
680:          subroutine MatFactorInfoInitialize(info ,ierr)
681: #include "../src/mat/f90-mod/petscmatfactorinfosize.h"
682:          MatFactorInfo info(MAT_FACTORINFO_SIZE)
683:          PetscErrorCode ierr
684:          end subroutine
685:       End Interface

687:       Interface
688:       subroutine MatSetType(a,b,z)
689:       use petscmatdef
690:        Mat a
691:        character(*) b
692:        integer z
693:        end subroutine
694:       end Interface

696:       Interface
697:       subroutine MatView(a,b,z)
698:       use petscmatdef
699:        Mat a
700:        PetscViewer b
701:        integer z
702:        end subroutine
703:       end Interface

705: ! revert MAT_INFO_SIZE and MAT_FACTORINFO_SIZE defines
706: #undef MAT_INFO_SIZE
707: #undef MAT_FACTORINFO_SIZE