如何在Eigen中保存MarketIO格式的:DiagonalMatrix

How to save Eigen::DiagonalMatrix in MarketIO format in Eigen?

本文关键字:格式 DiagonalMatrix MarketIO 保存 Eigen      更新时间:2023-10-16

使用Eigen 3.2.1,我试图将Eigen::DiagonalMatrix保存为MarketIO格式,如下所示:

#include <Eigen/Sparse>
#include <Unsupported/Eigen/SparseExtra>
using namespace Eigen;
...
size_t n = XX;
DiagonalMatrix<num_t, Dynamic> W(n);
...
saveMarket(W, "W.txt"); // error propagates from here

然而,我得到了以下错误:

MarketIO.h|236|error: 'const class Eigen::DiagonalMatrix<double, -1>' has no
member named 'nonZeros'

这里有什么问题?Diagonal Matrices是否实现了这一点?

提前感谢您的帮助。

好的!目前唯一的解决方案是使用以下方法:

saveMarketVector(W.diagonal(), "W.txt");