2013-07-31 23 views
5

我使用犰狳主要是对称和三角形矩阵。我想在内存存储方面保持高效。然而,看起来除了创建一个新的mat并且用零填充(对于三角形)或对矩阵的下部/上部重复(对于对称)来说,没有别的办法。犰狳C++:有创建有效的三角形或对称矩阵的具体方法

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

感谢, 安东尼

回答

3

有没有具体的支持用于Armadillo中的三角形或带状矩阵。但是,由于版本3.4对稀疏矩阵的支持已经逐渐增加。根据您需要的犰狳功能和矩阵的稀疏程度,您可以使用实现compressed sparse column (CSC) formatSpMat<type>获益。对于矩阵中的每个非零值,CSC格式将行索引与值存储在一起,因此您可能不会为三角矩阵节省大量内存。然而,带状对角线矩阵应该消耗更少的内存。