我正在使用cern.colt.matrix。* lib进行稀疏矩阵计算..但似乎我一直遇到这个错误:
线程“main”中的异常java.lang.IllegalArgumentException:矩阵太大
我认为这是因为当nrows * ncols>时,构造函数抛出异常。 INTEGER.max
api:http://acs.lbl.gov/software/colt/api/cern/colt/matrix/impl/SparseDoubleMatrix2D.html exception:IllegalArgumentException - 如果rows< 0 ||列< 0 || (双)列*行> Integer.MAX_VALUE的。
我的行是:5787,cols是418032。
这在matlab中运行良好(矩阵加载很好,所有操作都有效)。我想知道如何解决这个问题?我应该使用差异稀疏矩阵lib还是我需要切割我的矩阵或存储矩阵作为SparseDoubleMatrix1D的行向量
感谢。
答案 0 :(得分:2)
这里遇到了矩阵的实现问题。我怀疑你必须打破矩阵,但你可能会发现你需要更多的内存。
根据矩阵的稀疏程度,您只需要19 GB这个矩阵。