我需要多次计算密集矩阵A的条件数(每次都会对A进行一些更改),其中条件数定义为A的最大特征值除以最小的特征值。 A的顺序约为1000x5000并执行
np.linalg.svd(A, compute_uv=False)
大约需要0.6秒
另一方面
scipy.sparse.linalg.svds(A, 1, which='SM')
和
scipy.sparse.linalg.svds(A, 1)
由于A的密度而无法收敛(我认为)
有什么方法可以只计算密集矩阵的最大和最小特征值?还是以一种无需改变特征值即可使用scipy.sparse.linalg.svds的方式来操纵A?