我在Eigen C++中有一個稀疏矩陣A
。現在我想將它對稱化到另一個稀疏矩陣Asym
:如何在Eigen C++中對稱稀疏矩陣?
我希望如此,因爲它是那麼簡單:
Eigen::SparseMatrix<FLOATDATA> A;
...
Eigen::SparseMatrix<FLOATDATA> Asym = 0.5*(A+A.transpose()); // error here
但由於顯而易見的原因,它提供了以下斷言失敗錯誤:
error: static assertion failed: THE_STORAGE_ORDER_OF_BOTH_SIDES_MUST_MATCH
我的問題是如何在Eigen C++中整齊地做上述操作?
是一種對稱?如果沒有,你可能不會添加A及其轉置。換句話說,當且僅當m == n時,可以添加兩個矩陣mxn和nxm。我也從未見過A + A^T執行的單一公式。你是否在嘗試A^T x A,這有時候很有意義。 –