LAPACK Archives

[Lapack] Non-orthogonal eigenvectors from DSYEVR


For your information: 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

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:

with the test data

On Lapack 3.2.1 + reference BLAS, I get:

$ 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

<Prev in Thread] Current Thread [Next in Thread>

For additional information you may use the LAPACK/ScaLAPACK Forum.
Or one of the mailing lists, or