我有这个恼人的问题,我还没想出来。我有一个矩阵,我想找到特征向量,所以我写道:
val,vec = np.linalg.eig(mymatrix)
然后我得到了vec。我的问题是,当我的小组中的其他人使用相同的矩阵(mymatrix)做同样的事情时,我们得不到相同的特征向量!!
有人可以提出解释吗?
答案 0 :(得分:6)
特征向量x
的基本属性是
A x = lambda x
表示常量lambda
。
如果x
是特征向量,那么-x
:
A (-x) = - A x = - lambda x = lambda (-x)
另请注意,特征向量集可能不是唯一的。例如,任何矢量(适当维度)都可以是单位矩阵的特征向量。
np.linalg.eig
尝试返回一组特征向量,但不保证特定的唯一集合。