MATLAB Answers

Difference between eigs and svds

2 ビュー (過去 30 日間)
Orr Streicher
Orr Streicher 2021 年 6 月 6 日
編集済み: Paul 2021 年 6 月 6 日
Hi,
Im trying to find the 6 smallest eigenvalues and thier coresponding eigevectors of a matrix L.
i tried the 2 following commands:
[V1,S1]=eigs(L,6,'smallestabs')
[U2,S2,V2]=svds(L,6,'smallest')
but i found that V1 in not equal to V2 (and also not equal to U2).
can someone explain what is the difference between the two commands?

採用された回答

Manas Minnoor
Manas Minnoor 2021 年 6 月 6 日
Hi Orr,
eigs returns the eigenvalues while svds returns the singular values of the matrix.
If the matrix is not a real symmetric N*N matrix with positive eigenvalues, the singular values and eigenvalues may not coincide. This may be your issue.
You may refer to the following link for more clarity:
Hope this helps.

その他の回答 (1 件)

Paul
Paul 2021 年 6 月 6 日
編集済み: Paul 2021 年 6 月 6 日
eigs returns eigenvalues and eigenvectors. svds resturns singular valuese and singular vectors. Why would there be an expectation that these two functions return the same quantities (except perhaps for special cases)?
Can you edit your question to add an example?

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by