What does eig function actually do ?
1 次查看(过去 30 天)
显示 更早的评论
I came across a statement saying that for a complex hermitian matrix,EVD is identical to SVD,where the associated right and left singular vectors are identical. I tried to verify this statement using matlab ,I used the following commands
[U1 S1]=eig(A);
[U2 S2 V2]=svd(A);
where A is hermitian matrix. i got the result as matrices S1 and S2 are identical and also U2=V2,but U1 and U2 are different,why it so?
I mean eigen decomposition says U1*S1*U1'=A SVD decomposition says U2*S2*V2'=A since U2=V2 (same as EVD decomposition) and also S1=S2,then why am i getting U1 and U2 different ??
Thanks
0 个评论
采纳的回答
Matt J
2015-2-25
编辑:Matt J
2015-2-25
Normalized eigenvectors are invariant to sign changes, so U1 and U2 could have columns differing by a sign.
Furthermore, if A has eigenvalues with multiplicity greater than 1, then there is further flexibility in the choice of eigenvectors for those eigenvalues. The space of eigenvectors then becomes multi-dimensional. You cannot be sure eig and svd will reach the same selection.
4 个评论
Matt J
2015-2-25
编辑:Matt J
2015-2-25
Ah. In the case of complex matrices, the columns of U1 and U2 corresponding to the same eigenvalues can differ by complex scalar multiples c of amplitude abs(c)=1. Note that for any normalized complex eigenvector u, belonging to eigenvector lambda, the vector c*u is also a normalized complex eigenvector associated with lambda.
You will see that this is the case for your U1,U2 if you compute the matrix
>> C=U1\U2
C =
-0.0000 + 0.0000i 0.0000 - 0.0000i -0.0000 - 0.0000i 0.6120 - 0.7909i
0.0000 + 0.0000i 0.0000 - 0.0000i -0.9679 + 0.2513i 0.0000 + 0.0000i
0.0000 + 0.0000i -0.7120 + 0.7022i -0.0000 + 0.0000i 0.0000 - 0.0000i
-0.9022 + 0.4314i 0.0000 + 0.0000i -0.0000 + 0.0000i -0.0000 - 0.0000i
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!