【问题标题】:Armadillo c++: Is there a specific way for creating efficiently triangular or symmetric matrixArmadillo c ++:是否有一种特定的方法可以有效地创建三角形或对称矩阵
【发布时间】:2013-08-01 07:29:46
【问题描述】:

我主要将犰狳用于对称和三角形矩阵。我想在内存存储方面提高效率。但是,似乎除了创建一个新的垫子并用零(对于三角形)或重复项(对于对称)填充矩阵的下部/上部之外,别无他法。

有没有更有效的方法来使用犰狳使用三角形/对称矩阵?

谢谢, 安托万

【问题讨论】:

    标签: matrix armadillo symmetric triangular


    【解决方案1】:

    犰狳中没有对三角形或带状矩阵的特定支持。但是,从 3.4 版开始逐渐增加了对稀疏矩阵的支持。根据您需要的犰狳函数以及矩阵的稀疏性,您可能会从使用实现compressed sparse column (CSC) formatSpMat<type> 中获益。对于矩阵中的每个非零值,CSC 格式将行索引与值一起存储,因此您可能不会为三角矩阵节省太多内存。然而,带状对角矩阵应该消耗更少的内存。

    【讨论】:

      【解决方案2】:

      symmatu()/symmatl() 和 trimatu()/trimatl() 可能是您正在寻找的:

      http://arma.sourceforge.net/docs.html

      【讨论】:

        猜你喜欢
        • 2010-09-30
        • 1970-01-01
        • 2015-12-22
        • 1970-01-01
        • 2019-04-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-20
        相关资源
        最近更新 更多