簡體   English   中英

本征稀疏矩陣乘法似乎可以計算完整矩陣

[英]Eigen sparse matrix multiplications seem to compute full matrix

我正在嘗試將2個本征稀疏矩陣相乘。 代碼如下:

Eigen::SparseMatrix<float> SpMat;
SpMat mat_1;
mat_1.resize(n_e, n_e);
... Fill the matrix. It is sparse

SpMat mat_2;
mat_1.resize(n_e, n_e);
... Fill the matrix. It is sparse

SpMat mat_3 = (mat_1 * mat_2).pruned();

這適用於小型矩陣,但適用於較大的矩陣,它會連續運行並因段錯誤而崩潰十次。 Matlab中的同一件事需要花費幾秒鍾。 因此,我想知道它是否試圖將整個矩陣保留在某個位置。 如果確實如此,那真是太糟糕了! 我查看了文檔,並建議這樣做是為了快速修剪矩陣。

基本上,該文件至少對我來說是令人困惑的。

這樣做的方法很簡單:

SpMat mat_3 = mat_1 * mat_2

一路上沒有創建密集矩陣。

本征岩石!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM