首页 > 解决方案 > 计算最大和最小特征值

问题描述

我需要多次计算密集矩阵 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 的方法?

标签: pythonnumpyscipysvd

解决方案


推荐阅读