### DSYEVR returns non-orthogonal vectors?

Posted:

**Thu Apr 22, 2010 1:34 pm**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