我使用cern.colt.matrix.* lib进行稀疏矩阵计算,..but似乎总是遇到这样的错误:
线程"main“java.lang.IllegalArgumentException中出现异常:矩阵太大
我想这是因为当nrow*ncols> INTEGER.max时构造函数抛出了异常
接口:行异常: IllegalArgumentException - if rows<0 || columns<0 || (Double)columns* http://acs.lbl.gov/software/colt/api/cern/colt/matrix/impl/SparseDoubleMatrix2D.html > Integer.MAX_VALUE。
我的行数是: 5787,cols是418032。
这在matlab中工作得很好(矩阵加载很好,所有操作都可以工作)。我想知道如何解决这个问题?我应该使用diff稀疏矩阵库,还是需要对矩阵进行切片,或者将矩阵存储为SparseDoubleMatrix1D的行向量
谢谢。
发布于 2012-01-19 18:55:35
你在这里遇到了一个矩阵的实现问题。我怀疑你必须打破矩阵,然而你可能会发现你需要比你拥有的更多的内存。
根据矩阵的稀疏程度,仅此矩阵就需要19 GB。
https://stackoverflow.com/questions/8924554
复制相似问题