Why x*V is different by the V*D when I use the eig function?
조회 수: 1 (최근 30일)
이전 댓글 표시
Hi,
I have the following x matrix. And I try to get the right eigenvectors of it using eig? It seems that when I do the product x*V=V*D the results are different. Have this to do with the fact that my matrix is not symmetric? In this case is any option of the eig function to get me the proper right eigenvectors. Thank you
x=[ [-0.308342500000000 -0.00214464000000000 0.0151461300000000 0.00824288000000000 0.00989276000000000 0.0124386100000000 0.00264512000000000 0.00866431000000000 0.0116075100000000 0.00320392000000000 0.00278671000000000 0.00149626000000000;-0.00265658000000000 -0.121676300000000 0.00564436000000000 0.00238015000000000 0.00424764000000000 0.00588706000000000 -0.000863060000000000 0.00469262000000000 0.00678557000000000 0.000689910000000000 -0.00119440000000000 -0.00716666000000000;0.0107642900000000 0.00192612000000000 -0.320937700000000 0.00805248000000000 0.0148254700000000 0.0206676400000000 -0.00345190000000000 0.00606270000000000 0.00823877000000000 0.00199755000000000 0.00131798000000000 -0.000817610000000000;0.0508680800000000 0.0185830800000000 0.101506100000000 -1.21076200000000 0.0802179500000000 0.115666400000000 -0.00754153000000000 0.0270814400000000 0.0365313200000000 0.00948934000000000 0.00735254000000000 0.000670960000000000;0.0307724700000000 0.0142414800000000 0.0643488500000000 0.0266672900000000 -0.886164400000000 0.0810198500000000 -0.00178717000000000 0.0158865000000000 0.0213394900000000 0.00575626000000000 0.00480359000000000 0.00184064000000000;0.0233513400000000 0.0135427100000000 0.0515144600000000 0.0250104400000000 0.0468383700000000 -0.613540200000000 0.00117468000000000 0.0116026500000000 0.0155001000000000 0.00438241000000000 0.00396955000000000 0.00270523000000000;0.0559105900000000 -0.0404564600000000 0.0518365000000000 0.000652430000000000 0.0562101800000000 0.0924429400000000 -1.14120900000000 0.0398392800000000 0.0555777500000000 0.0101110600000000 0.000862140000000000 -0.0283818200000000;0.0609296000000000 0.0594911000000000 0.0504506900000000 0.0286767100000000 0.0319623200000000 0.0392238000000000 0.0120725100000000 -1.39778700000000 0.107400600000000 -0.0416587600000000 0.00800827000000000 0.0169831700000000;0.0487410800000000 0.0482542000000000 0.0402743200000000 0.0229235600000000 0.0254899100000000 0.0312555200000000 0.00972080000000000 0.0492022500000000 -1.05963200000000 -0.0526606800000000 0.00732498000000000 0.0141274000000000;0.0840965800000000 0.0520060500000000 0.0734459900000000 0.0403322100000000 0.0476786100000000 0.0596631500000000 0.0137920700000000 -0.0575738400000000 -0.0862827700000000 -1.08902400000000 -0.0306083200000000 -0.00111990000000000;0.0812610900000000 0.0172178200000000 0.0751533200000000 0.0397974000000000 0.0499812100000000 0.0637146700000000 0.0101769700000000 0.0741493400000000 0.117631700000000 -0.0109123000000000 -1.12310800000000 -0.0280327400000000;0.000943080000000000 -0.000857920000000000 0.00100616000000000 0.000488290000000000 0.000705260000000000 0.000933580000000000 1.72500000000000e-05 0.000779430000000000 0.00112694000000000 0.000114870000000000 -0.000197680000000000 -0.172684800000000;]
댓글 수: 0
채택된 답변
Matt J
2014년 9월 11일
편집: Matt J
2014년 9월 11일
No, asymmetry shouldn't prevent the equation from being satisfied to within numerical precision. But I don't see a numerically significant error,
>> [V,D]=eig(x);
>> diff=x*V-V*D;
>> max(abs(diff(:)))
ans =
1.7365e-15
댓글 수: 6
Matt J
2014년 9월 11일
V would in that case be the left singular vectors of x, or equivalently, the eigen-vectors of x*x'. See
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!