Matrix 犰狳c++;:是否有一种特殊的方法可以有效地创建三角形或对称矩阵

Matrix 犰狳c++;:是否有一种特殊的方法可以有效地创建三角形或对称矩阵,matrix,armadillo,symmetric,triangular,Matrix,Armadillo,Symmetric,Triangular,我使用犰狳主要用于对称矩阵和三角矩阵。我想在内存存储方面提高效率。然而,似乎除了创建一个新的垫子并用零(对于三角形)或重复(对于对称)填充矩阵的上/下部分之外,没有其他方法 有没有更有效的方法使用犰狳来使用三角形/对称矩阵 谢谢, 安托万symmatu()/symmatl()和trimatu()/trimatl() 可能是您正在寻找的: 犰狳中的三角形或带状矩阵没有具体的支持。但是,自版本3.4以来,逐渐增加了对稀疏矩阵的支持。根据您需要的犰狳函数以及矩阵的稀疏性,您可以通过使用SpMat来实现

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

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

谢谢, 安托万

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


犰狳中的三角形或带状矩阵没有具体的支持。但是,自版本3.4以来,逐渐增加了对稀疏矩阵的支持。根据您需要的犰狳函数以及矩阵的稀疏性,您可以通过使用
SpMat
来实现。对于矩阵中的每个非零值,CSC格式会将行索引与值一起存储,这样就不会为三角形矩阵节省太多内存。然而,带状对角矩阵应该消耗更少的内存