How to find the best algorithm for calculating the eigenvalue and eigenvector of a very large matrix

I used the Jacobi method to find all eigenvalues ​​and eigenvectors in c-code. Although the complexity of the Jacobi method is O (n ^ 3), but the dimension of my matrix is ​​huge (17814 X 17814). It takes a lot of time. I want to know the best algorithm with which I can solve this problem. If you want, I can attach my c-code.

+6
source share
1 answer

The algorithm suggested in the comments is not necessarily the best.
As you can see here , the Jacobi method can be significantly faster when using special methods.
In addition, Jacobi is quite easy to run in parallel, and it is much faster for sparse matrices than for dense matrices, so you can also use this, depending on your architecture and the type of matrix you have.

I would say that it is best to test several different methods and see in practice where you can get the best results.
O(n^2.376) not necessarily better than O(n^3) depending on the constants.

+2
source

Source: https://habr.com/ru/post/984000/


All Articles