s_morris

09-15-2008, 12:59 PM

In my application, I have a frequent need to find eigenvalues of real matrices. The matrices (companion matrices for finding the roots of Chebyshev polynomial expansions) are essentially tridiagonal but with a complete bottom row, and range in size from 8x8 to ~200x200, so that the bigger matrices probably qualify as 'sparse'. I'm only interested in the real eigenvalues, not the complex eigenvalues or any of the eigenvectors. Performance is however crucial, as in 'production use' it will be necessary to solve hundreds or maybe thousands of these matrices in each run of the application.

The IMSL library seems to contain at least three routines that look, on the fact of it, applicable: LIN_EIG_GEN, EVLRG and EIG. How do I choose between them? I'm running V6.0 of the IMSL library with Intel Visual Fortran 10.1, but I don't have VTune and would rather not have to evaluate each one in detail, so is there guidance available on this topic? Thank you.

The IMSL library seems to contain at least three routines that look, on the fact of it, applicable: LIN_EIG_GEN, EVLRG and EIG. How do I choose between them? I'm running V6.0 of the IMSL library with Intel Visual Fortran 10.1, but I don't have VTune and would rather not have to evaluate each one in detail, so is there guidance available on this topic? Thank you.