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 || (double)columns*rows > Integer.MAX_VALUE.

私の行は: 5787 で、列は 418032 です。

これはmatlabでうまくいきました(行列はうまくロードされ、すべての操作が機能します)。この問題を解決するにはどうすればよいですか? 差分疎行列ライブラリを使用する必要がありますか、それとも行列をスライスするか、行列を SparseDoubleMatrix1D の行ベクトルとして格納する必要がありますか?

ありがとう。

4

1 に答える 1

2

ここで、行列の実装の問題が発生しています。マトリックスを分割する必要があると思いますが、必要以上のメモリが必要になる場合があります。

マトリックスがどれだけまばらであるかに応じて、このマトリックスのためだけに19GBが必要になります。

于 2012-01-19T10:55:34.513 に答える