2015-04-25 139 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

感谢吨!您发布的讨论现在开始变得有意义了! –