Python |其原始行列对应的特征向量分量

Python | Eigenvector components corresponding to their original rows and columns

我希望这不是一个坏问题,但我正在计算对称矩阵的特征向量和特征值,我们称它为 A。

A 表示 10x10。

我想得到第二大特征值对应的特征向量。我做

[D, V] = scipy.sparse.linalg.eigs(L, 2)
s = V[:, 0] # this is the 2nd eigenvecotr

现在,我想根据 's' 中的某些元素与其他一些数字的比较来进行一些计算。例如:

for i in range(0, len(s)):
if s[0] > some number: 
do something with the first column/row (if this was a graph, the first node) in A 

我的问题是:

  1. 我使用 scipy.sparse.linalg.eigs 还是 scipy.sparse.linalg.eigsh 有关系吗?我在网上看到了两者的文档,但看不出区别。
  2. 特征向量中的元素是否对应于它们原来的rows/columns?比如s[0]对应A的firstcolumn/row的特征向量?

docs 对 row/column 的问题很清楚:

The column v[:, i] is the eigenvector corresponding to the eigenvalue w[i]

eigs 和 eigsh 的区别在于后者假设一个 symmetric/hermitian 矩阵。

最后,对于 10x10 矩阵,您不需要任何稀疏矩阵,最好只使用 scipy.linalg.

中的函数