2011-05-07 77 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