【发布时间】:2012-10-23 15:40:58
【问题描述】:
我正在使用 scipy.sparse.linalg.eigsh 来解决非常稀疏矩阵的广义特征值问题并遇到内存问题。该矩阵是一个有 100 万行/列的方阵,但每行只有大约 25 个非零条目。有没有办法在不将整个矩阵读入内存的情况下解决问题,即一次只处理内存中的矩阵块?
如果解决方案涉及在 python 或 java 中使用不同的库,也可以。
【问题讨论】:
-
不幸的是,您似乎已经在使用 ARPACK。您可能必须使用 ARPACK 的 FORTRAN 实现,或者使用 ARPACK++ 来获得所需的细粒度内存控制...
-
你试过Shift-invert mode ?。另外,你真的需要所有的特征值(你可以只计算最大的)吗?
标签: python matrix machine-learning scipy linear-algebra