find eigenvalues of a very large sparse matrix

93 ビュー (過去 30 日間)
Zeyu Zhang
Zeyu Zhang 2018 年 9 月 11 日
回答済み: Andrew Knyazev 2018 年 9 月 21 日
I need to find the eigenvalues of a very large sparse matrix (5digit x 5digit dimension). I tried to use 'eig' command but apparently, I don't have enough memory in my RAM ( the return message is always run of out memory). But it is worth to mention that I did this with all the zero entries filled with zeros. This is because when the zero entries are squeezed out (in sparse matrix form), it took forever to run the 'eig' command due to unknown reason so I have to give up. I also tried to do it on GPU, but it was the same situation (run out of memory) when zeros are squeezed out, and GPU can't handle matrix in parse form so the other option is not available. I wonder if it is possible to partition the large matrix into blocks of small segments, do some computation separately first then combine the results from individual parts and somehow obtain the final result from here. Is that a mathematical viable approach? If yes how to do it then? Thanks.

回答 (2 件)

M
M 2018 年 9 月 11 日
  2 件のコメント
Zeyu Zhang
Zeyu Zhang 2018 年 9 月 19 日
編集済み: Zeyu Zhang 2018 年 9 月 19 日
Hi, I checked eigs and it seems to work. However for example d = eigs(Afun,1500,6,'smallestabs') returns the eigenvalues with smallest magnitude. What if I want it to return the most negative eigenvalues?
M
M 2018 年 9 月 19 日
Are all eigenvalues real? If yes you can use 'smallestreal' option.

サインインしてコメントする。


Andrew Knyazev
Andrew Knyazev 2018 年 9 月 21 日
If the matrix is real symmetric or Hermitian, you may also want to try https://www.mathworks.com/matlabcentral/fileexchange/48-lobpcg-m

カテゴリ

Help Center および File ExchangeLinear Algebra についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by