2011-05-07 63 views
0

我有的Python EIG矩阵

k=linalg.eig(Ki) 

其中Ki例如是:

[[ 1.84026465 -0.463138 ] 
[-0.463138 3.83931947]] 

和结果k为:

(array([ 1.73817877, 3.94140535]), array([[-0.97655787, 0.21525501], 
     [-0.21525501, -0.97655787]])) 

我怎样才能显示选自K只是最大值(我不知道为什么有2个数组,如果我手工计算只有第一个数组是结果..)?我看起来像max(k)...任何人都知道?

+0

这两个数组对应于特征值(第一个数组)和特征向量(第二个数组)。你是在最大的特征值之后? – 2011-05-07 21:04:38

+0

我认为这是相反的方式,西蒙。有两个特征值和两个1x2特征向量。否则,你会发现。 – duffymo 2011-05-07 21:08:50

回答

5

linalg.eig返回两个数组,首先是特征值,然后是特征向量。

如果你想maximimum特征值,然后

vals,vecs=linalg.eig(Ki) 
max_eigenvalue = vals.max() 
+0

感谢您的这项义务!问题解决了 :) – thaking 2011-05-07 21:08:29