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

조회 수: 3 (최근 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