How can the Cholesky decomposition step in eigs() be avoided without passing a matrix to eigs that is a Cholesky decomposition?

2 次查看(过去 30 天)
Hello,
I have been looking at the following set of notes:
and specifically this quote in those notes:
"If SIGMA is a real or complex scalar including 0, EIGS finds the eigenvalues closest to SIGMA. For scalar SIGMA, and when SIGMA = ’SM’, B need only be symmetric (or Hermitian) positive semi-definite since it is not Cholesky factored as in the other cases."
I have a Hermitian positive-semidefinite matrix A, of which I want to find the 3 smallest eigenvalues. The Cholesky-decomposition is too memory intensive for the matrices I am working with. Please, is there a way to use eigs() without having to perform the Cholesky decomposition either in eigs() or outside of it?
Thank you very much.

回答(2 个)

Walter Roberson
Walter Roberson 2012-1-23
Try
eigs(YourArray, 3, 'SM')
However, note that this requires that you be seeking the 3 eigenvalues with smallest absolute magnitude. If you need to find the smallest magnitude (e.g., -11.49 being smaller than -1.149) then you will not be able to use this option.
  2 个评论
Allo
Allo 2012-1-23
Hello and thank you for responding.
I tried this
D=eigs(M,6,'SM');
Because M=S*S, where S is my original Hermitian but not positive semi-definite matrix, because I wanted to submit a Hermitian positive semi-definite matrix to the eigs() function for the sake of exploiting the information I found above. It doesn't seem to be yielding the decrease in memory consumption that I expected. I thought the Cholesky decomposition of eigs() was supposed to require far more memory than the rest of eigs(), so I'm a bit confused.
Allo
Allo 2012-1-23
S is a sparse matrix with roughly 10^6 non-zero entries, with a side length of N~160000, if that is useful... u_u

请先登录,再进行评论。


Andrew Knyazev
Andrew Knyazev 2015-5-15

类别

Help CenterFile Exchange 中查找有关 Linear Algebra 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by