Re: Reported any bugs in C-LAPACK routine DSPEVX?

From: Javier Almeida (javieralmeida_at_fis.ucm.es)
Date: 10/29/04


Date: 29 Oct 2004 02:56:08 -0700

Thank you Andreas for your great explanation.
It really surprised me that the steps you explain in your post are
exactly the same I have to do to link against CLAPACK, the only
difference being the libraries you tell the compiler to link against.
Even the underscore you add to de name of the routine is also the same
in CLAPACK, and of course the way you pass by reference the arguments
is also the way to proceed in CLAPACK. I also like to embed the
CLAPACK routines declarations in my programs instead of using the
given .h headers (and you're right:in C++ you should embrace this
declarations within an extern "C" {} directive)...Now it's not clear
to me which is then the difference between linking agaisnt CLAPACK or
using directly LAPACK, as both ways differs only in the final
libraries you link against (¿?).

                 After all I managed to overcome the initial problem
with dspevx_ routine by changing the tolerance parameter. Anyway I
would like to take the opportunity to report a non-documented
behaviour of this routine: when using dspevx_ and setting ABSTOL
parameter to 2*dlamch('s') as recommended by documentation, It may
happen that the error code returned by the invocation be zero and the
number of eigenvectors computated (parameter M) differs from that you
specify in IU IL parameters (documentation does not talk about this
possibility). This difficulty may be overcame by setting ABSTOL=0 in
those conflictive invocations.

            Best regards,
Javi