DSYEVR returns non-orthogonal vectors?
Hi,
(Forwarding http://projects.scipy.org/scipy/ticket/1159 )
For some matrices DSYEVR, when told to compute a small number of eigenvalues, returns non-orthogonal eigenvectors. Perhaps it possible for the algorithm to detect this and return with an error?
This applies at least when using the automatically chosen ABSTOL. However, at least for the example below, I wasn't able to find a suitable ABSTOL for which it would work.
Maybe, this might have to do with the fact that for the example problem below, the first eigenvalue is multiply degenerate, and the numerical second eigenvalue is eps-close to the first one.
The following test program illustrates this: http://projects.scipy.org/scipy/raw-att ... 9/test.f90
with the test data http://projects.scipy.org/scipy/raw-att ... 1159/L.txt
On Lapack 3.2.1 + reference BLAS, I get:
(Forwarding http://projects.scipy.org/scipy/ticket/1159 )
For some matrices DSYEVR, when told to compute a small number of eigenvalues, returns non-orthogonal eigenvectors. Perhaps it possible for the algorithm to detect this and return with an error?
This applies at least when using the automatically chosen ABSTOL. However, at least for the example below, I wasn't able to find a suitable ABSTOL for which it would work.
Maybe, this might have to do with the fact that for the example problem below, the first eigenvalue is multiply degenerate, and the numerical second eigenvalue is eps-close to the first one.
The following test program illustrates this: http://projects.scipy.org/scipy/raw-att ... 9/test.f90
with the test data http://projects.scipy.org/scipy/raw-att ... 1159/L.txt
On Lapack 3.2.1 + reference BLAS, I get:
- Code: Select all
$ gfortran -o test test.f90 -llapack -lblas
$ ./test < L.txt
orth error ( 2 eigs): -0.96599125529927221 HUGE ERROR
orth error ( 3 eigs): -0.96599125529927232 HUGE ERROR
orth error ( 4 eigs): -0.96599125529927221 HUGE ERROR
orth error ( 5 eigs): -2.52928802610462387E-017
orth error ( 6 eigs): -1.47893223140021721E-016
orth error ( 7 eigs): -1.18177613284446356E-016
orth error ( 8 eigs): 0.0000000000000000
orth error ( 9 eigs): -2.84549495443531079E-016
orth error ( 10 eigs): -2.93456682158620488E-016