Hi fellows,

Currently I am using the LAPACK routine DSYEVR to compute the eigenvalues for a positive (all diagonal nonnegative) symmetric real matrix, but encountered with some questions. Can anyone give me some hints?

It's a small N*N matrix, with N only ~20. However, for some matrix, the DSYEVR gives even ridiculous results.

I observed that, for such matrix, the L1 condition number is larger than those giving expected results.

For example, when condition number is below 30, it gives expected results; when it goes to 80, it starts to give wrong

results, and when it goes to ridiculously large, say ~10^7, it gives very negative eigenvalues.

BTW, I only need the smallest eigenvalue.

So, I am wondering if there is any well-built routines or implementable methods for computing eigenvalues for ill-conditioned matrix.

Thank you very much!