各种增强ublas稀疏向量之间有什么区别?

时间:2010-08-03 18:29:38

标签: c++ data-structures boost ublas

boost::numeric::ublas中,有three sparse vector types

我可以看到mapped_vector从索引到值本质上是stl::map,它将所有未找到的值视为0(或者是常见值)。

但是关于compressed_vectorcoordinate_vector的信息,文档很少(哈哈)。

有人能够澄清吗?我试图弄清楚向各种向量添加项目的算法复杂性,以及两个这样的向量之间的点积。

一个非常有用的答案是,compressed_vector与compressed_matrix非常相似。但似乎,例如,compressed row storage仅用于存储矩阵 - 而不仅仅是向量。

我看到unbounded_array是存储类型,但我也不太清楚规范是什么。如果我创建一个大小为200,000,000但仅包含5个非零位置的compressed_vector,那么创建一个大小为10和非零位置的compressed_vector会不会有效率?

非常感谢!

1 个答案:

答案 0 :(得分:4)

用向量替换矩阵,你就有了答案

http://www.guwi17.de/ublas/matrix_sparse_usage.html