- Code: Select all
(1) What is the difference between different drivers: simple vs. expert vs. divide-and-conquer vs. RRR driver? Do the drivers differ in terms of accuracy or they differ in terms of the performance time?
your matrix is nonsymmetric
. In this respect, if you want to compute eigenvalues and/or eigenvectors with LAPACK3.0, you need to use:
Both routines use the same algorithm: first Hessenberg reduction then QR iteration to get Schur form and finally returns the eigenvector if needed.
The expert driver dgeevx
have more features for a slightly more complex interface. In particular it computes error bounds too. (See the header of the routine for more information.)
For the symmetric
eigenvalue problem, there is more solvers. Your solver of choice will depend mainly of your problem. Available in LAPACK3.0, you have:
- dsyev: QR iteration
- dsyevd: divide and conquer
- dsyevr: MRRR
- dsyevx: bisection+ inverse iteration
All drivers first reduces the (symmetric) matrix to tridiagonal form and then apply a different tridiagonal eigensolver to find the eigenvalues. As a matter of fact, these algorithm will vary in term of accuracy and speed.
You can find more explanations at http://www.netlib.org/lapack/lug/