EDIT: I am testing if any eigenvalues have a magnitude of one or greater.
I need to find the largest absolute eigenvalue of a large sparse, non-symmetric matrix.
I have been using R's eigen()
function, which uses the QR algo from either EISPACK or LAPACK to find all eigenvalues and then I use abs()
to get the absolute values. However, I need to do it faster.
I have also tried using the ARPACK interface in igraph
R package. However, it gave an error for one of my matrices.
The final implementation must be accessible from R.
There will probably be multiple eigenvalues of the same magnitude.
Do you have any suggestions?
EDIT:
Accuracy only needs to be to 1e-11
. A "typical" matrix has so far been $386\times 386$. I have been able to do a QR factorisation on it. However, it is also possible to have much larger ones. I am currently starting to read about the Arnoldi algorithm. I understand that it is related to Lanczsos.
EDIT2: If I have multiple matrices that I am "testing" and I know that there is a large submatrix that does not vary. Is it possible to ignore/discard it?