首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Numpy特征向量

Numpy特征向量
EN

Stack Overflow用户
提问于 2020-01-15 02:12:52
回答 1查看 29关注 0票数 1

我正在尝试使用numpylinalg.eig()函数来获得特征向量和特征值。

代码语言:javascript
复制
import numpy as np
M = np.array([[168.04570515, 1.38100609, -48.60662242],
              [1.38100609, 16.49647382, 9.18370965], 
              [-48.60662242, 9.18370965, 38.37842496]])
eigenvalue, eigenvector = np.linalg.eig(M)

>>>eigenvalue
array([184.25812834,  28.91371368,   9.74876191])

>>>eigenvector
array([[-0.94849917, -0.26039343, -0.18040119],
   [ 0.0095255 , -0.59267178,  0.80538775],
   [ 0.31663637, -0.7621912 , -0.56462906]])

但是,当我在WolframAlpha中输入相同的M值时,我得到以下结果:

为什么我会得到不同的特征向量?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-15 02:31:08

所以你实际上得到了相同的特征向量。只是Wolfram Alpha缩放了特征向量,所以最后一个元素是1(如果你还记得,特征向量是尺度不变的)。让我们看一下结果的第一列。如果你跑了,

代码语言:javascript
复制
np.array([-0.94849917, 0.0095255, 0.31663637])/0.31663637

你会得到

代码语言:javascript
复制
array([-2.99554713,  0.0300834 ,  1.        ])

如果你注意到了这就是Wolfram Alpha所报道的。您也可以检查其他两个。

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

https://stackoverflow.com/questions/59739537

复制
相关文章

相似问题

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