Boost::uBLAS mapped_matrix 是如何运作的?
How Boost::uBLAS mapped_matrix works?
有很多关于 Boost::uBLAS compressed_matrix 和 coordinate_matrix 的参考。但是我没有找到关于mapped_matrix的解释。它是如何实现的?
它采用了哪种稀疏存储策略?
另外:有人可以提供一些论文或书籍的参考吗?
Plus: can someone provide me some reference in papers or books?
该图书馆似乎没有实际的图书。文档在这里
http://www.boost.org/doc/libs/1_66_0/libs/numeric/ublas/doc/matrix_sparse.html#mapped_matrix
快速扫描它会回答您的问题:
How is it implemented.
它作为容器适配器实现。它只存储 non-zero 个元素。这些存储在内部关联容器中。
默认情况下,底层关联容器是 std::map
,但可以使用 A
模板参数对其进行自定义。
Wich strategy of sparse storage it uses?
它只存储 non-zero 个元素。这些在内部存储在关联容器中。见上文。
此外,您可以注意到将元素索引转换为关联容器键的精确方式(取决于 F
:row-major 或 column-major 组织)和与相应的密集矩阵模型相比,是什么保证了稀疏矩阵中元素的弱总排序。 (见上文)。
有很多关于 Boost::uBLAS compressed_matrix 和 coordinate_matrix 的参考。但是我没有找到关于mapped_matrix的解释。它是如何实现的?
它采用了哪种稀疏存储策略?
另外:有人可以提供一些论文或书籍的参考吗?
Plus: can someone provide me some reference in papers or books?
该图书馆似乎没有实际的图书。文档在这里
http://www.boost.org/doc/libs/1_66_0/libs/numeric/ublas/doc/matrix_sparse.html#mapped_matrix
快速扫描它会回答您的问题:
How is it implemented.
它作为容器适配器实现。它只存储 non-zero 个元素。这些存储在内部关联容器中。
默认情况下,底层关联容器是 std::map
,但可以使用 A
模板参数对其进行自定义。
Wich strategy of sparse storage it uses?
它只存储 non-zero 个元素。这些在内部存储在关联容器中。见上文。
此外,您可以注意到将元素索引转换为关联容器键的精确方式(取决于 F
:row-major 或 column-major 组织)和与相应的密集矩阵模型相比,是什么保证了稀疏矩阵中元素的弱总排序。 (见上文)。