首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >特征向量实现Jacobi算法

特征向量实现Jacobi算法
EN

Stack Overflow用户
提问于 2014-12-27 20:37:00
回答 1查看 209关注 0票数 0

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

示例矩阵:

代码语言:javascript
复制
1 2 3
2 2 1 
3 1 1

我的结果是:

代码语言:javascript
复制
0.7400944496522529, 0.6305371413491765, 0.23384421945632447
-0.20230251371232585, 0.5403584533063043, -0.8167535949636785
-0.6413531776951003, 0.5571668060588798, 0.5274763043839444

来自西澳大利亚的结果:

代码语言:javascript
复制
1.13168, 0.969831, 1 
-1.15396, 0.315431, 1 
0.443327, -1.54842, 1 

我希望这个解决方案是微不足道的,但我找不到。我在mathoverflow上问过这个问题,他们告诉我这个网站。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-27 22:47:37

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

代码语言:javascript
复制
Orthogonalize[{{1.13168, 0.969831, 1.}, {-1.15396, 0.315431, 1.}, {0.443327, -1.54842, 1.}}]

获得

代码语言:javascript
复制
 0.630537    0.540358    0.557168
-0.740094    0.202306    0.641353
 0.233844   -0.816754    0.527475

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27671253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档