计算实对称矩阵

时间:2016-03-30 00:26:21

标签: python performance matrix eigenvalue

我正在尝试找出计算NxN实对称矩阵的最大和最小特征值的最快方法(其中N大约为1000)。这个过程已经重复了很多次,所以我需要整个过程尽可能快。目前我使用的方法如下:

def return_max_min(C)
   egvs = np.linalg.eigvalsh(C)
   return min(egvs) , max(egvs)

不幸的是,这不是很有效率。 在related post中有人提出了以下解决方案:

 import scipy.sparse.linalg as sparlg

 max_egv = sparlg.eigsh(C, k=10, return_eigenvectors=False, which=('LM'), sigma=1.)
 min_egv = sparlg.eigsh(C, k=10, return_eigenvectors=False, which=('SM'), sigma=1.)

然而,这似乎并不比第一次更快。

我做错了什么或者这仅仅是内置方法的限制?

提前感谢您的帮助。

0 个答案:

没有答案