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?

  • 3
    $\begingroup$ Do you want to stick to python? If not, you could embed a language with more support for more scientific computing, such as C++, into your current program and make use of one of the many available options, e.g. Spectra, SLEPc or blaze. $\endgroup$
    – Dan Doe
    Mar 17, 2022 at 9:30


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.