Python 矩阵对角化例程

Python routine on matrix diagonalization

早上好! 我对 python 例程有疑问: https://www.google.com/url?sa=t&source=web&rct=j&url=https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.sparse.linalg.eigsh.html&ved=2ahUKEwjJxrid8ezoAhXj6eAKHQbzBCwQFjAAegQIARAB&usg=AOvVaw29YNiM2xotOUio89RVOe_x&cshid=1587038068544

它说它计算了 k 个特征向量和特征值,k 小于矩阵维数,但是是否可以用它来获得最低的 k 个特征值,或者这些特征值是在谱中随机排列的?

如您链接的 documentation 所述,关键字 whichmode 影响选择了哪些特征值:

*which* : str ['LM' | 'SM' | 'LA' | 'SA' | 'BE']

Which k eigenvectors and eigenvalues to find:
'LM' : Largest (in magnitude) eigenvalues 
'SM' : Smallest (in magnitude) eigenvalues
...

*mode* : string ['normal' | 'buckling' | 'cayley']

...
The choice of mode will affect which eigenvalues are selected by the keyword 'which'.

which 的默认值为 'LM'(最大特征值),因此您可能希望传递 'SM' 以检索最小值。