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

Doc*_*awk 15 c++ boost ublas data-structures

boost::numeric::ublas,有三种稀疏矢量类型.

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

但关于compressed_vector和的信息,文件很少(哈哈)coordinate_vector.

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

一个非常有用的答案提供了compressed_vector与compressed_matrix非常相似.但似乎,例如,压缩行存储仅用于存储矩阵 - 而不仅仅是矢量.

我看到这unbounded_array是存储类型,但我也不太确定规范是什么.如果我创建一个大小为200,000,000但只有5个非零位置的compressed_vector,那么创建一个大小为10和非零位置的compressed_vector会不会有什么效率呢?

非常感谢!

Any*_*orn 3

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

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