In python, there is a function in scipy (scipy.linalg.eigh_tridiagonal
) which is extremely efficient for an exact diagonalization of a symmetric tridiagonal matrix (I think it uses MRRR algorithm, not sure). But only a single core is assigned to solve the exact diagonalization. Is there a way of using remaining cores to speed up finding eigenvalues and eigenvectors?
$\begingroup$
$\endgroup$
1
C++
, into your current program and make use of one of the many available options, e.g. Spectra, SLEPc or blaze. $\endgroup$