1

这是上一个问题的延续 - 主要是围绕 Armadillo C++ 库中对 SpMat(或 sp_mat)的支持。

尝试反转稀疏矩阵时,出现编译错误

error: no matching function for call to ‘inv(arma::SpMat<double>&)’

我宁愿不为 sp_mat 编写自己的矩阵求逆,除非我真的必须这样做,而且我不能使用 inv(arma::Mat&) 原型,因为我将要操作的稀疏矩阵会占用数百 GB 的 RAM如果它被转换为非稀疏矩阵。

还有,怎么办

error: no matching function for call to ‘join_cols(arma::sp_mat, arma::sp_mat)’

sp_mat 不是连接列的受支持类型吗?

任何帮助将非常感激!

编辑:关于稀疏矩阵求逆错误的重点问题。正在使用的犰狳版本是 3.910.1

4

1 回答 1

2

与上一个关于vecandmat在这种情况下的问题相反,至少从犰狳标题来看,似乎sp_matandmat具有不相关的基本类型,因此您不能将sp_mat类型作为参数推送到invand join_cols,我猜对基础数据做结构。另外,由于这里没有提到您需要的两个功能http://arma.sourceforge.net/docs.html#SpMat我猜不存在支持。由于我至少部分理解需要将这种 bix 矩阵保留为稀疏矩阵,因此使用http://math.nist.gov/sparselib++/http://math.nist 之类的替代方案可能是有意义的。政府/MV++/

于 2013-09-13T15:50:30.527 回答