我已经看到了这个问题,这与我尝试用numPy在Python中计算主导特征向量有关.
我试图计算nxn矩阵的主要特征向量,而不必进入过多的重线性代数.我对行列式,特征值,特征向量和特征多项式进行了粗略的研究,但我更倾向于依靠numPy实现来寻找特征值,因为我认为它比我自己的效率更高.
我遇到的问题是我使用了这段代码:
markov = array([[0.8,0.2],[.1,.9]])
print eig(markov)
Run Code Online (Sandbox Code Playgroud)
...作为测试,并获得此输出:
(array([ 0.7, 1. ]), array([[-0.89442719, -0.70710678],
[ 0.4472136 , -0.70710678]]))
Run Code Online (Sandbox Code Playgroud)
我关注的是,根据Perron-Frobenius定理,第二个特征向量的所有分量都应该是正的(因为,根据维基百科,"具有正条目的实矩阵具有唯一的最大实特征值并且相应的特征向量具有严格的正分量").
谁知道这里发生了什么?numPy错了吗?我在ZFC中发现了不一致吗?或者只是我在线性代数,Python,numPy或三者的某种组合中成为一个菜鸟?
感谢您提供的任何帮助.另外,这是我的第一个SO问题(我曾经活跃于cstheory.se),所以任何有关提高我的问题清晰度的建议也会受到赞赏.