computing the top k (in absolute value) eigenvalues of a symmetric matrix

Viewed 260

Suppose I have a symmetric matrix M,which is NOT positive (semi)definite, and I want to compute its k top (in absolute value) eigenvalues (and the corresponding eigenvectors). Now, one can do this using truncated SVD, which will return the absolute values of said eigenvalues, and then one has to check for the sign and find the corresponding eigenvector (both are . This is a bit of a hassle to implement, so one wonders if this is hiding in some library somewhere. A tensorflow version would be of particular interest.

1 Answers

The Lanczos algorithm sounds like it might be a good fit for your problem. Here is a description of Lanczos from the Wikipedia page:

The Lanczos algorithm is a direct algorithm devised by Cornelius Lanczos that is an adaptation of power methods to find the m "most useful" (tending towards extreme highest/lowest) eigenvalues and eigenvectors of an n times n Hermitian matrix, where m is often but not necessarily much smaller than n.

Sample libraries in Python: https://github.com/topics/lanczos

Related