2013-03-18 92 views
11

將稀疏矩陣轉換爲雙精度矩陣有一些簡單快捷的方法嗎?如何將稀疏矩陣轉換爲Eigen中的密集矩陣

因爲我的SparseMatrix不再是稀疏的,而是在一些矩陣產品後變得密集。

我有另一個問題:特徵庫有出色的表現,這怎麼可能?我不明白爲什麼,因爲只有頭文件,沒有編譯源。

+1

什麼是性能與代碼是否是在'做。 h'文件還是'.cpp'文件? – us2012 2013-03-21 21:14:33

+1

爲了理解Eigen是如何工作的以及如何使其更快速,請更好地瞭解他們的文檔(例如[內部發生了什麼](http://eigen.tuxfamily.org/dox/TopicInsideEigenExample.html))(其中看到你的問題在任何情況下都會有用),並且拿起一本關於高級C++和模板編程的書。 無論如何,你應該在這裏刪除這個問題,併爲它做一個新的問題,如果在這之後你仍然不確定它是如何工作的一些細節。 – sgvd 2013-03-23 14:50:50

回答

27

讓我們聲明兩個矩陣:

SparseMatrix<double> spMat; 
MatrixXd dMat; 

疏到密:

dMat = MatrixXd(spMat); 

密到疏:

spMat = dMat.sparseView();