【问题标题】:Convert Matricies in Armadillo from Sparse to Dense (spmat to mat)将犰狳中的矩阵从稀疏转换为密集(spmat 到 mat)
【发布时间】:2014-11-11 00:07:54
【问题描述】:

我正在使用 Armadillo C++ 线性代数库,并试图弄清楚如何将 sp_mat 稀疏矩阵对象转换为标准 mat 密集矩阵。

查看internal code docsp_matmat 不共享一个共同的父类,这让我相信没有办法将sp_mat 转换为mat。顺便说一句,conv_to<mat>::from(sp_mat x) 不起作用。

也许有一种棘手的方法可以使用高级mat 构造函数之一来做到这一点?例如,以某种方式创建一个零垫,并在sp_mat 中传递非零元素的位置和值。

有没有人知道一种有效的方法来做到这一点?提前致谢。

【问题讨论】:

    标签: c++ linear-algebra sparse-matrix armadillo


    【解决方案1】:

    铸造效果非常好:

    sp_mat X(2,2);
    
    mat Y(X);
    
    Y.print("Y:");
    

    【讨论】:

    • 哇。我不敢相信我错过了。非常感谢!也许我遗漏了一些东西,但我没有看到 sp_mat 作为 api 文档中 mat 构造函数的输入。 arma.sourceforge.net/docs.html#Mat
    猜你喜欢
    • 1970-01-01
    • 2013-08-22
    • 1970-01-01
    • 2020-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多