2010-08-03 65 views
15

boost::numeric::ublas,有three sparse vector types各种助推ublas稀疏矢量之间有什么区别?

我可以看到,mapped_vector实质上是一个stl::map从索引到值,它认为所有未找到的值为0(或任何公用值)。

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

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

一个非常有用的答案表明,compressed_vector非常类似于compressed_matrix。但是,例如,compressed row storage似乎仅用于存储矩阵 - 不仅仅是矢量。

我看到unbounded_array是存储类型,但我不太确定该规范是什么。如果我创建一个大小为200,000,000的compressed_vector,但只有5个非零位置,那么与创建大小为10和5的非零位置的compressed_vector相比,这样做的效率会有多低?

非常感谢!

回答

4

更换向量矩阵,你有答案

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

+0

非常感谢!这正是我所需要的。 – 2010-08-03 19:06:57

+0

@mohawkjohn您可能想要的产品compressed_vector – Anycorn 2010-08-03 19:08:34

+0

好的,所以这并不能完全回答我的问题。例如,compressed_matrix使用压缩行存储进行存储。但是compressed_vector不能以这种方式存储,可以吗? – 2010-08-10 19:36:14

相关问题