我正在处理大规模数据,例如目前可能感兴趣的 300000 x 300000 矩阵。由于“内存不足”错误,在 matlab 中处理真的很困难,所以我决定使用 EIGEN。矩阵大小中的特征是否有任何限制?
问问题
1879 次
1 回答
2
EIGEN 中的密集矩阵存储在连续的内存块中,在 32 位应用程序中不能超过 2 GB,因此如果您正在运行 32 位应用程序,分配将开始崩溃一半大小的矩阵,即也就是说大约 10,000x10,000。参见例如这个重复的问题。
其他库也会出现同样的问题,因为您受 RAM 的限制,而不是受库的限制。
但是,如果您的大矩阵中绝大多数为 0,则可以求助于SparseMatrix。
如果您的矩阵不是稀疏的,那么您可以将它存储在磁盘上,但是在操作它时您会得到糟糕的性能。
于 2013-08-30T12:02:11.573 回答