2015-04-25 61 views
0

我是一個新手,當談到使用python庫進行數字任務時。我正在閱讀LexRank上的一篇論文,並想知道如何計算轉換矩陣的特徵向量。我用了eigval功能,並得到了結果,我也很難解釋:scipy/numpy linalg.eigval結果解釋

a = numpy.zeros(shape=(4,4)) 

a[0,0]=0.333 
a[0,1]=0.333 
a[0,2]=0 
a[0,3]=0.333 

a[1,0]=0.25 
a[1,1]=0.25 
a[1,2]=0.25 
a[1,3]=0.25 

a[2,0]=0.5 
a[2,1]=0.0 
a[2,2]=0.0 
a[2,3]=0.5 

a[3,0]=0.0 
a[3,1]=0.333 
a[3,2]=0.333 
a[3,3]=0.333 

print LA.eigval(a) 

和特徵值是:

[ 0.99943032+0.j   
-0.13278637+0.24189178j 
-0.13278637-0.24189178j 
    0.18214242+0.j  ] 

誰能請解釋一下什麼是j在這裏幹什麼?特徵值是否應該是標量?我怎樣才能廣泛地解釋這個結果?

回答

2

j是虛數,負數的平方根。在數學中,它通常由工程中的iin Python, it is denoted by j表示。

+0

非常感謝..現在我知道至少還有什麼我應該閱讀之前解釋這個結果 –

1

單個特徵值是標量,但一個(M,M)矩陣將具有特徵值(和特徵向量)。 The Wiki page on eigenvalues and eigenvectors有一些例子可以幫助你理解概念。

正如@unutbu提到的,j表示Python中的虛數。通常,即使矩陣僅包含實數值(see here, for example),矩陣也可能具有復特徵值(即,具有實數和虛數分量)。對稱實值矩陣是一個例外,因爲它們保證只有真實的特徵值。

+0

感謝噸!您發佈的討論現在開始變得有意義了! –