我试图以最有效的方式乘以2个大矩阵。特别是,一方面我有一个尺寸(8.000 X 20.000)的矩阵,另一方面,我有一个尺寸(35.000.000 X 20.000)的矩阵。这两个矩阵的列都具有相同的值,即20.000列是有序的,两者都相同。两个矩阵都太稀疏并且具有布尔(二进制)值。通过乘以它们,我试图获取每个行值的总公共数。
我为此应用了MATLAB,但由于内存不足问题,无法将它们相乘。所以我将较大的矩阵分区并制作了较小的块。比方说1.000.000 X 200。 在应用了这个分离过程之后,我设法成倍增加,但即使在matlab中这个乘法过程是自动多线程的,也需要大约5个小时来处理。
我在java脚本中检索了这些矩阵。我想知道,如果这个过程可能有更快的方法。例如,在Java中应用Hadoop并在java中执行该过程是否有意义?或者还有其他建议吗?
提前致谢。