> On Apr 30, 2018, at 3:14 AM, Smith, Barry F. <[email protected]> wrote: > > > I don't understand > > The code has > > ierr = MatGetDiagonal(A,W2);CHKERRQ(ierr); > ierr = VecView(W2,viewer);CHKERRQ(ierr); > > the output from this VecView seems to match the diagonal of the matrix > printed earlier. > >> On Apr 29, 2018, at 10:02 AM, Stefano Zampini <[email protected]> >> wrote: >> >> By looking at src/mat/examples/tests/output/ex88_1.out, it seems that the >> output of MatGetDiagonal is wrong for MATSHELL. >> >> it should be >> 2.96782e+08 >> 1.41731e+09 >> and not (as computed) >> 1.10918e+08 >> 2.06459e+08 > > What do you mean "as computed"? The output file does not contain >> 1.10918e+08 >> 2.06459e+08 > anywhere. > > Are you modifying the example and running it again to get the incorrect > value?
Yes, my bad. I did not explain it correctly From maint, if you just run ex88 you will get the incorrect output, which is not caught in the nightlyies because floating point values are completely ignored. [szampini@localhost tests]$ ./ex88 Matrix of type: shell Mat Object: 1 MPI processes type: seqdense 2.9678190300000000e+08 3.9288008100000000e+08 6.1374683500000000e+08 1.4173141580000000e+09 Vec Object: 1 MPI processes type: seq 3.92973e+19 8.54197e+19 Vec Object: 1 MPI processes type: seq 1.10918e+08 2.06459e+08 MatDiagonalSet not tested on MATSHELL …. > > Barry > >> >> -- >> Stefano >
