5

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

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

谢谢,安托万

4

2 回答 2

3

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

于 2014-04-01T20:48:22.157 回答
1

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

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

于 2013-09-09T13:50:26.017 回答