1

次の 9x9 入力マトリックスのこんにちは

6.522752 0.985874 0.000000 0.000000 0.000000 0.000000 -1.239167 1.833633 1.542076
0.985874 5.591528 0.000000 0.000000 0.000000 0.000000 1.833633 6.220998 -3.414516
0.000000 0.000000 4.000000 0.000000 0.000000 0.000000 1.542076 -3.414516 0.000000
0.000000 0.000000 0.000000 6.522752 0.985874 0.000000 -3.478164 -2.197849 -2.923418
0.000000 0.000000 0.000000 0.985874 5.591528 0.000000 -2.197849 5.979956 -5.347403
0.000000 0.000000 0.000000 0.000000 0.000000 4.000000 -2.923418 -5.347403 0.000000
-1.239167 1.833633 1.542076 -3.478164 -2.197849 -2.923418 7.943390 4.655086 2.544306
1.833633 6.220998 -3.414516 -2.197849 5.979956 -5.347403 4.655086 26.187047 -8.514617
1.542076 -3.414516 0.000000 -2.923418 -5.347403 0.000000 2.544306 -8.514617 10.540343

dsyevd_ (lapack) の固有ベクトルは次のとおりです。

-0.240839 -0.138424 0.519974 0.115826 -0.370674 0.288584 -0.393926 0.431228 0.277905
0.244180 -0.537519 -0.093966 0.107875 -0.362227 0.419277 0.386924 0.074391 -0.410777
-0.085046 0.080591 -0.087321 0.405798 0.480233 0.520947 0.351553 0.085795 0.425460
0.326714 -0.343211 0.687494 -0.137128 0.486896 -0.164580 0.125151 -0.051854 -0.038804
-0.025542 0.219686 0.021264 -0.732741 0.149150 0.596999 -0.112391 -0.057387 -0.138370
0.347073 0.682316 0.396621 0.256967 -0.282724 0.116437 0.200305 -0.155640 -0.181131
0.802559 -0.030022 -0.272760 -0.009368 -0.014541 0.068134 -0.376412 0.154091 0.332006
0.041949 0.027988 0.028721 -0.432580 -0.332588 -0.207674 0.588240 0.161115 0.532709
-0.037747 -0.228302 0.086833 0.036285 -0.225159 0.157222 -0.124072 -0.849258 0.354327

opencv の固有ベクトル

0.037747 0.228302 -0.086833 -0.036285 0.225159 -0.157222 0.124072 0.849258 -0.354327
0.041949 0.027988 0.028721 -0.432580 -0.332588 -0.207674 0.588240 0.161115 0.532709
0.802559 -0.030022 -0.272760 -0.009368 -0.014541 0.068134 -0.376412 0.154091 0.332006
0.347073 0.682316 0.396621 0.256967 -0.282724 0.116437 0.200305 -0.155640 -0.181131
0.025542 -0.219686 -0.021264 0.732741 -0.149150 -0.596999 0.112391 0.057387 0.138370
0.326714 -0.343211 0.687494 -0.137128 0.486896 -0.164580 0.125151 -0.051854 -0.038804
-0.085046 0.080591 -0.087321 0.405798 0.480233 0.520947 0.351553 0.085795 0.425460
-0.244180 0.537519 0.093966 -0.107875 0.362227 -0.419277 -0.386924 -0.074391 0.410777
-0.240839 -0.138424 0.519974 0.115826 -0.370674 0.288584 -0.393926 0.431228 0.277905

値は位置と符号が異なります。lapackでこの問題を修正するにはどうすればよいですか。

4

1 に答える 1

2

固有ベクトルは、実倍率までは一意です。つまり、x が固有ベクトルの場合、l.x(l はスカラー) も 1 です。特に、 ifxが固有ベクトルであるかM、 thenも固有ベクトル-xです。非常に多くの場合、固有ベクトルは のように単位正規化され||x|| = 1ますが、もちろん、それでも 2 つの可能なベクトル (x-x) が残ることに注意してください。このあいまいさは、 の最初の負でない座標の符号であるj.x固有ベクトルを取得することで解決できます。jx

編集固有ベクトルは、異なる順序で返すこともできます。通常、それらは対応する固有値の降順で返されます。

あなたの例では、固有ベクトルは異なる固有値に関連しているように見えますが、それを確認できますか?

于 2012-07-30T08:56:00.530 に答える