2010-08-03 67 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

相關問題