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

17
boost::numeric::ublas中,有三种稀疏向量类型。我看到mapped_vector本质上是一个从索引到值的stl::map,它将所有未找到的值视为0(或任何通用值)。但文档对compressed_vectorcoordinate_vector的信息很少。
是否有人能够澄清一下?我正在尝试弄清楚将项目添加到各种向量以及两个这样的向量之间的点积算法复杂度。
非常有帮助的答案指出,compressed_vectorcompressed_matrix非常相似。但是似乎,例如压缩行存储仅用于存储矩阵--而不仅仅是向量。
我看到unbounded_array是存储类型,但我不太确定其规范是什么。如果我创建大小为200,000,000但只有5个非零位置的compressed_vector,是否与创建大小为10且具有5个非零位置的compressed_vector在任何方面都不太有效?
谢谢!
1个回答

3

@mohawkjohn 对于这个产品,你可能想要使用压缩向量 - Anycorn
好的,这并没有完全回答我的问题。例如,compressed_matrix使用压缩行存储,但是压缩向量能用这种方式存储吗? - Translunar
1
@mohawkjohn 当然可以,它只是存储非零元素的连续块。 - Anycorn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接