2013-03-11 108 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