【发布时间】:2013-08-01 07:29:46
【问题描述】:
我主要将犰狳用于对称和三角形矩阵。我想在内存存储方面提高效率。但是,似乎除了创建一个新的垫子并用零(对于三角形)或重复项(对于对称)填充矩阵的下部/上部之外,别无他法。
有没有更有效的方法来使用犰狳使用三角形/对称矩阵?
谢谢, 安托万
【问题讨论】:
标签: matrix armadillo symmetric triangular
我主要将犰狳用于对称和三角形矩阵。我想在内存存储方面提高效率。但是,似乎除了创建一个新的垫子并用零(对于三角形)或重复项(对于对称)填充矩阵的下部/上部之外,别无他法。
有没有更有效的方法来使用犰狳使用三角形/对称矩阵?
谢谢, 安托万
【问题讨论】:
标签: matrix armadillo symmetric triangular
犰狳中没有对三角形或带状矩阵的特定支持。但是,从 3.4 版开始逐渐增加了对稀疏矩阵的支持。根据您需要的犰狳函数以及矩阵的稀疏性,您可能会从使用实现compressed sparse column (CSC) format 的SpMat<type> 中获益。对于矩阵中的每个非零值,CSC 格式将行索引与值一起存储,因此您可能不会为三角矩阵节省太多内存。然而,带状对角矩阵应该消耗更少的内存。
【讨论】:
symmatu()/symmatl() 和 trimatu()/trimatl() 可能是您正在寻找的:
【讨论】: