0

我正在实现 Jacobi 算法,以获得对称矩阵的特征向量。我不明白为什么我从我的应用程序中获得不同的特征向量(与我的结果相同:http: //fptchlx02.tu-graz.ac.at/cgi-bin/access.com?c1=0000 &c2=0000&c3=0000&file= 0638)和 Wolfram Aplha 不同:http ://www.wolframalpha.com/input/?i=eigenvector%7B%7B1%2C2%2C3%7D%2C%7B2%2C2%2C1%7D%2C%7B3%2C1 %2C1%7D%7D

示例矩阵:

1 2 3
2 2 1 
3 1 1

我的结果:

0.7400944496522529, 0.6305371413491765, 0.23384421945632447
-0.20230251371232585, 0.5403584533063043, -0.8167535949636785
-0.6413531776951003, 0.5571668060588798, 0.5274763043839444

来自 WA 的结果:

1.13168, 0.969831, 1 
-1.15396, 0.315431, 1 
0.443327, -1.54842, 1 

我希望该解决方案是微不足道的,但我找不到它。我在 mathoverflow 上问过这个问题,他们把我指向了这个网站。

4

1 回答 1

0

矩阵的特征向量不是唯一的,有多种可能的分解;事实上,只有特征空间可以被唯一地定义。您收到的两个结果都是有效的。通过要求 Wolfram Alpha 正交化第二个矩阵,您可以轻松地看到这一点。运行以下查询

Orthogonalize[{{1.13168, 0.969831, 1.}, {-1.15396, 0.315431, 1.}, {0.443327, -1.54842, 1.}}]

获得

 0.630537    0.540358    0.557168
-0.740094    0.202306    0.641353
 0.233844   -0.816754    0.527475

现在您可以看到您的算法返回了正确的结果。首先,矩阵被转置:WA 给你行向量,你的算法以列的形式返回它们。然后,第一个向量乘以 -1,但任何特征向量都可以乘以非零常数以产生有效的特征向量。否则,结果完全匹配。

您可能还会发现以下数学 StackExchange 答案很有帮助:实对称矩阵的特征向量是否始终是正交基而不发生变化?

于 2014-12-27T22:47:37.023 回答