3

我正在使用 cern.colt.matrix.* lib 进行稀疏矩阵计算..但似乎我一直遇到这个错误:

线程“主”java.lang.IllegalArgumentException 中的异常:矩阵太大

我认为这是因为构造函数在 nrows*ncols > INTEGER.max 时抛出异常

api:http ://acs.lbl.gov/software/colt/api/cern/colt/matrix/impl/SparseDoubleMatrix2D.html 异常:IllegalArgumentException - 如果行<0 || 列<0 || (双)列*行> Integer.MAX_VALUE。

我的行是:5787,列是 418032。

这在 matlab 中工作得很好(矩阵加载得很好,所有操作都工作)。我想知道如何解决这个问题?我应该使用 diff 稀疏矩阵库还是需要对矩阵进行切片或将矩阵存储为 SparseDoubleMatrix1D 的行向量

谢谢。

4

1 回答 1

2

您在这里遇到了矩阵的实现问题。我怀疑你必须分解矩阵,但是你可能会发现你需要的内存比你拥有的更多。

根据矩阵的稀疏程度,仅此矩阵就需要 19 GB。

于 2012-01-19T10:55:34.513 回答