Actual source code: ex58f.F
1: !
2: ! "$Id: ex58f.F,v 1.11 2001/01/15 21:46:09 bsmith Exp $";
3: !
4: ! This program demonstrates use of MatGetRow() from Fortran
5: !
6: program main
7: #include "include/finclude/petsc.h"
8: #include "include/finclude/petscmat.h"
9: #include "include/finclude/petscviewer.h"
11: Mat A
12: integer err,i,cols(500),ncols
13: Scalar values(500)
14: PetscViewer v
16: call PetscInitialize(PETSC_NULL_CHARACTER,err)
18: call PetscViewerBinaryOpen(PETSC_COMM_WORLD,'small',PETSC_BINARY_RDONLY, &
19: & v,err)
21: call MatLoad(v,MATSEQAIJ,A,err)
23: call MatView(A,PETSC_VIEWER_STDOUT_WORLD,err)
25: call MatGetRow(A,2,ncols,cols,values,err)
26: do 10, i=1,ncols
27: print*,i,cols(i),values(i)
28: 10 continue
29: call MatRestoreRow(A,2,ncols,cols,values,err)
31: call MatGetRow(A,5,ncols,cols,values,err)
32: do 20, i=1,ncols
33: print*,i,cols(i),values(i)
34: 20 continue
35: call MatRestoreRow(A,2,ncols,cols,values,err)
37: call MatDestroy(A,err)
38: call PetscViewerDestroy(v,err)
40: call PetscFinalize(err)
41: end