LAPACK Archives

[Lapack] dsyevr fails to terminate (while calling DLARRB)


A user of  statistical software R ( reported a problem when 
trying to get an eigen -decomposition of a particular symmetric matrix. The 
problem can be tracked down to lapack routine dsyevr failing to return. 
Specifically, routine DLARRB gets stuck in an infinite loop: the reason for 
this is that while refining eigenvalues this routine compares an error bound 
on an eigenvalue to the difference between two other eigenvalues - 
unfortunately this difference has become negative, so the convergence 
condition is never met. (The matrix does have high proportion of repeated and 
zero eigenvalues, but it's not a problem to decompose it using other lapack 

Several R developers have replicated the problem (using R, which calls lapack) 
on a variety of platforms (on one machine we got convergence), but we are at 
a loss about how to fix it, and are unable to find any reference to such a 
problem by internet searching. I have therefore replicated the problem using 
a small fortran wrapper program, which loads the offending matrix, and calls 
lapack directly. 

I used lapack 3 from netlib, with the source patches from
and  the blas supplied with lapack. The test suites indicate no problems. I am 
running suse linux 9.3 on a pentium xeon machine, and g77 (gcc 3.3.5). I've 
tried turning off all optimization when building the blas, lapack and the 
test program, but the problem persists. 

I've attached the wrapper program, lap.f (please excuse my fortran) and the 
problematic matrix dumped as binary, thematrix.bin, to be read by lap.f.

Any help would be much appreciated!


Simon Wood, Mathematical Sciences, University of Bath, Bath, BA2 7AY UK
+44 1225 386603 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: lap.f
Type: text/x-fortran
Size: 2659 bytes
Desc: not available
Url :
-------------- next part --------------
A non-text attachment was scrubbed...
Name: thematrix.bin
Type: application/octet-stream
Size: 41488 bytes
Desc: not available
Url :

<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