Actual source code: ex85f.F
1: !
2: ! "$Id: ex85f.F,v 1.2 2001/06/21 21:17:18 bsmith Exp $";
3: !
4: ! This program tests MatGetDiagonal()
5: !
6: program main
7: implicit none
9: #include include/finclude/petsc.h
10: #include include/finclude/petscis.h
11: #include include/finclude/petscvec.h
12: #include include/finclude/petscmat.h
13: #include include/finclude/petscviewer.h
15: integer ierr,i
16: Vec v
17: Mat m
18: double precision value
20: call PetscInitialize(PETSC_NULL_CHARACTER,ierr)
22: call MatCreate(PETSC_COMM_SELF,12,12,12,12,m,ierr)
23: call MatSetFromOptions(m,ierr)
25: value = 3.0
26: i = 4
27: call MatSetValues(m,1,i,1,i,value,INSERT_VALUES,ierr)
28: call MatAssemblyBegin(m,MAT_FINAL_ASSEMBLY,ierr)
29: call MatAssemblyEnd(m,MAT_FINAL_ASSEMBLY,ierr)
31: call VecCreateSeq(PETSC_COMM_SELF,12,v,ierr)
32: call MatGetDiagonal(m,v,ierr)
33: call VecView(v,PETSC_VIEWER_STDOUT_WORLD,ierr)
35: call MatDestroy(m,ierr)
36: call VecDestroy(v,ierr)
37: call PetscFinalize(ierr)
38: end