2013-03-11 66 views
1

约亨利马乌的稀疏矩阵A类短期和简单的问题:密度亨利马乌稀疏矩阵

有一个简单的(已发售通过亨利马乌)的方式来计算稀疏矩阵的密度?

我问这个,因为我有一个标签传播算法运行,它使用SparseMatrix实现。我的程序运行out of memory,我认为这是因为the density of the matrix的增长速度比我预期的要快。如果没有可用的东西,我将不得不编写自己的方法来计算密度,但如果答案阻止了我重新发明方向盘,我将不胜感激。

回答

0

SparseMatrix.getNumNondefaultElements()似乎会返回非空行数和非空条目数,因此您可以通过将这两个数相乘来计算一个悲观估计值。

+0

这个方法的文档让我困惑了一下。它返回一个包含[row,column] count的int [2]。我无法找到任何进一步的细节。这是否意味着它会返回不完全为零的行和列的数量?如果是这样,那么乘以它们将不会给我密度。但是我会尝试一些小的手动创建的矩阵并进行检查。 – 2013-03-14 16:52:52

+1

我假设矩阵的“密度”是指矩阵中非零条目的数量。 据我了解源代码,'SparseMatrix.getNumNondefaultElements()'给你不完全为零的行数,以及“最密集”列中非零条目的数量。 因此,两者的结果应该给你一个大于或等于非零项的实际数量的估计值。我无法找到一种方法,可以给你实际的非标记数量。 – florian 2013-03-21 13:38:33