views:

181

answers:

2

I am using LAPACK to diagonalize complex Hermitian matrices. I can choose between ZHEEV and ZHEEVD. Which one of these routines is more accurate for matrices of the size 40 and a range of eigenvalues from 1E-2 to 1E1?

A: 

I don't know the answer but,

  • It probably depends on which LAPACK library you're using. There are a number of them out there, optimized for various platforms. Are you using Netlib, MKL, ACML, ??
  • Why would you take a take a total stranger's word for this when you can measure it yourself?
Die in Sente
I would guess the accuracy will vary much less between implementations than the performance. W/r to measuring, I don't have the experience to prepare a correct set of test matrices.
quant_dev
+2  A: 

ZHEEVD uses a divide-and-conquer method to compute eigenvalues.

If your matrices are 40 x 40 and the eigenvalues are within the range [1e-2, 1e1] then you should have absolutely no numerical issues. You can use either routine.

codehippo
Thanks, that's what I wanted to hear.
quant_dev