如何將Eigen::Matrix<double,Dynamic,Dynamic>
轉換爲Eigen::SparseMatrix<double>
? 我正在尋找一種更好的方式,而不是通過密集矩陣進行迭代Eigen轉換稠密矩陣來稀疏一個
9
A
回答
14
可以使用sparseView()方法爲:
sparse = dense.sparseView();
,甚至指定一個公差:
sparse = dense.sparseView(epsilon,reference);
1
您是否控制了密集矩陣的創建?
如果你不這樣做,沒有辦法讀取每個矩陣元素來查看它是否爲空。
如果您自己創建密集矩陣,則可以創建數據結構以在需要時將其轉換爲稀疏矩陣。例如,您可以在每行矩陣中存儲該行中非空元素的數量。然後,您可以跳過包含0個非null元素的行,並且一旦您看到count數量告訴您的非null元素,就可以停止任何行的轉換。
您存儲的額外數據將取決於您期望的稀疏矩陣的類型。常見的稀疏矩陣模式是在稀疏矩陣中浮動的稠密子矩陣。當您創建密集矩陣時,您可以不計算這些密集區域。例如。不要在每行存儲元素數量,而是在某些x,y偏移處保留非空矩形區域的列表。
相關問題
- 1. 無法將稀疏矩陣轉換爲稠密矩陣
- 2. MATLAB - 稀疏到稠密矩陣
- 3. 連續稀疏矩陣Eigen
- 4. 將稀疏矩陣轉換爲稠密矩陣時的MemoryError? (numpy的,scikit)
- 5. 如何將稀疏矩陣轉換爲Eigen中的密集矩陣
- 6. R:稀疏矩陣轉換
- 7. 擴展/稀疏矩陣轉換成一個更大的稀疏矩陣
- 8. 如何將1x1 Eigen :: C++稀疏矩陣轉換爲整數值?
- 9. Scikit-learn Minibatch KMeans:稀疏與稠密矩陣聚類
- 10. 稀疏X稠密矩陣乘法性能下高效
- 11. 稀疏矩陣子集密集矩陣
- 12. 大轉換矩陣來稀疏矩陣在python
- 13. 將矩陣市場轉換爲CRS轉換(稀疏矩陣)
- 14. 稀疏矩陣
- 15. 轉身稀疏矩陣
- 16. 將字典轉換爲稀疏矩陣
- 17. 轉換SciPy的稀疏矩陣元組
- 18. 稀疏矩陣存儲格式 - 轉換
- 19. 將列表轉換爲稀疏矩陣
- 20. Numpy:將稀疏矩陣轉換爲ndarray
- 21. 將稀疏矩陣(dgCMatrix)轉換爲realRatingMatrix
- 22. 從完全轉換爲稀疏矩陣
- 23. Python - 將稀疏矩陣轉換爲JSON
- 24. C中的稀疏矩陣轉換
- 25. R:從matrix.csr轉換爲稠密矩陣
- 26. 從稀疏矩陣中提取一個塊作爲另一個稀疏矩陣
- 27. 稀疏矩陣和矩陣
- 28. 徵:如何初始化一個稀疏矩陣與一些子稀疏矩陣
- 29. 從3D稀疏到稠密重建
- 30. Eigen L如何從稀疏矩陣和稠密向量計算行向量的內積?效率是多少?
讓我明白這一點。您想要將密集矩陣轉換爲稀疏矩陣而不檢查,哪些條目是零並且應該刪除,以及要保留哪些條目?你如何看待這可能工作?你肯定應該在這個問題上工作 - 這是非常不清楚的。 – angainor
無需手動檢查元素。我正在尋找一種方法或函數或庫來做到這一點。但從我讀到的這裏我認爲這是不可能的 – tyranitar