I have non-symmetric real-valued matrices with real-valued eigensystems. How to compute eigenvectors efficiently?
Using scipy.linalg.eig
(which calls dgeev
) is 3-4 times slower than scipy.linalg.eigh
(=>dsyevd
) and 2x slower than scipy.linalg.svd
(=>gesdd
), but neither SVD nor hermitian eigenvalue decomposition are appropriate here. I'm guessing the need to support complex valued storage is responsible for extra overhead. Is there a faster routine to use for matrices which have real-valued eigenvalue decomposition?
scipy.linalg.schur
seems to be similar speed toscipy.linalg.eig
$\endgroup$ – Yaroslav Bulatov Nov 14 '20 at 0:58