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

6 Ansichten (letzte 30 Tage)
Steffen am 2 Dez. 2014
Beantwortet: Andrew Knyazev am 15 Mai 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 Kommentare1 älteren Kommentar anzeigen1 älteren Kommentar ausblenden
Steffen am 2 Dez. 2014
Actually I have 128GB but the systems also needs some resources. Nonetheless my memory is not enough. It was swapping something like 50GB so I don't know how much memory there would be needed... (Even 200GB might be not enough.)
Therefore I am open for suggestions. M is a 150k x 150k matrix. Are there any approximate methods which need much less memory?
Matt J am 2 Dez. 2014
Bearbeitet: Matt J am 2 Dez. 2014
I don't really understand why it's taking so much memory. What happens when you do
eigs(M,k,'sm')

Melden Sie sich an, um zu kommentieren.

### Antworten (2)

Thorsten am 2 Dez. 2014
If M contains many 0's you can define M as a sparse matrix to speed up computation.
##### 1 Kommentar-1 ältere Kommentare anzeigen-1 ältere Kommentare ausblenden
Steffen am 8 Dez. 2014
M is already defined as sparse. I construct the matrix by using spconvert().

Melden Sie sich an, um zu kommentieren.

Andrew Knyazev am 15 Mai 2015
##### 0 Kommentare-2 ältere Kommentare anzeigen-2 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

### Kategorien

Mehr zu Linear Algebra finden Sie in Help Center und File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by