我主要用于对称和三角矩阵的犰狳。我希望在内存存储方面保持高效。然而,似乎除了创建一个新的垫子并填充零(用于三角形)或用重复(用于对称)矩阵的下部/上部之外没有其他方法。
使用犰狳是否有更有效的方法使用三角形/对称矩阵?
谢谢, 安托
答案 0 :(得分:3)
犰狳中没有对三角形或带状矩阵的具体支持。但是,由于3.4版本对稀疏矩阵的支持逐渐增加。根据您需要的犰狳功能以及矩阵的稀疏性,您可以使用SpMat<type>
来实现compressed sparse column (CSC) format。对于矩阵中的每个非零值,CSC格式存储行索引以及值,因此您可能不会为三角矩阵节省大量内存。然而,带状对角矩阵应该消耗更少的内存。
答案 1 :(得分:1)
symmatu()/ symmatl()和trimatu()/ trimatl() 可能就是你要找的东西: