how to find eigenvectors using cholsky decomposition?

조회 수: 4 (최근 30일)
zyad
zyad 2017년 12월 2일
댓글: zyad 2017년 12월 2일
my question concerns matrix decompositions and their cpu consumed time. Suppose we have a square matrix Y*Y' (Y' is the the Y transpose).
--------------------------Using SVD-----------------------------------------
if we want to find eigenvectors U of Y*Y' we can apply SVD on Y and find: YY'=USV'. this method takes time.
--------------------------Using QR-----------------------------------------
1) we decompose Y in Y=QR.
2) after that YY'=QRR'Q'.
3)we apply the economic SVD on R' => R'=UDV'
4) include step 3 in 2 gives: YY'=QVDV'Q' => QV is eigenvectors of YY'. this method takes less time than SVD.
How to apply cholsky to accelerate the process?

답변 (1개)

John D'Errico
John D'Errico 2017년 12월 2일
편집: John D'Errico 2017년 12월 2일
Why would you possibly want to do so?
1. Cholesky will cost you accuracy, because in order to form the Cholesky factors, you need to form Y'*Y.
2. QR, applied to Y is both fast and accurate. (Use the economy QR.)
BTW, how is this even a MATLAB question at all?
But, if you insist on the use of Cholesky, since you did all of the above linear algebra, surely you see that forming the economy svd of the cholesky factor of Y'*Y gives you what you want, even if it is a bad idea in the first place.
That is, if
Y'Y = L'*L
then just take the svd of L and see what happens in the linear algebra.
As I said, a bad idea in terms of accuracy. The smaller eigenvalues/vectors will potentially be complete crap.
  댓글 수: 1
zyad
zyad 2017년 12월 2일
thank you for the answer. Why would I possibly want to do cholsky decomposition? By trying this, I want to compare the performance of SVD, QR and cholsky decompositions in term of accuracy and rapidity. can you be more precise in how to find these eigenvectors?

댓글을 달려면 로그인하십시오.

카테고리

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