16

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

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

compressed_vector但是关于和的信息文档很少(哈哈)coordinate_vector

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

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

我看到这unbounded_array是存储类型,但我也不太确定规范是什么。如果我创建一个大小为 200,000,000 但只有 5 个非零位置的压缩向量,这是否比创建大小为 10 和 5 个非零位置的压缩向量效率低?

非常感谢!

4

1 回答 1

3

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

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

于 2010-08-03T18:57:39.660 回答