MATLAB Answers

How can I get the (approximate) eigenvectors of a huge matrix?

9 views (last 30 days)
Steffen
Steffen on 2 Dec 2014
Answered: Andrew Knyazev on 15 May 2015
I have a huge symmetric matrix M and I want to get the eigenvectors to the k smallest eigenvalues of M (which have to be greater than 0). I know that the smallest eigenvalue is 0.
Currently I am using
eigs(M,k,eps)
but this results in memory consumption of over 100GB of RAM.
  3 Comments
Matt J
Matt J on 2 Dec 2014
I don't really understand why it's taking so much memory. What happens when you do
eigs(M,k,'sm')

Sign in to comment.

Answers (2)

Thorsten
Thorsten on 2 Dec 2014
If M contains many 0's you can define M as a sparse matrix to speed up computation.
  1 Comment
Steffen
Steffen on 8 Dec 2014
M is already defined as sparse. I construct the matrix by using spconvert().

Sign in to comment.


Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!