16

boost::numeric::ublasには、3つのスパースベクトルタイプがあります。

mapped_vector本質的にstl::mapインデックスから値への値であり、見つからない値はすべて0(または共通の値)と見なされることがわかります。

compressed_vectorしかし、とに関する情報についてのドキュメントはまばらです(ハハ)coordinate_vector

誰かが明確にすることができますか?私は、さまざまなベクトルにアイテムを追加することのアルゴリズムの複雑さ、および2つのそのようなベクトル間の内積のアルゴリズムの複雑さを理解しようとしています。

非常に役立つ回答は、compressed_vectorがcompressed_matrixに非常に似ていることを示しています。しかし、たとえば、圧縮された行ストレージは、ベクトルだけでなく、行列を格納するためだけのもののようです。

それunbounded_arrayがストレージタイプだと思いますが、その仕様もよくわかりません。サイズが200,000,000で、ゼロ以外の場所が5つしかないcompressed_vectorを作成した場合、サイズが10でゼロ以外の場所が5つあるcompressed_vectorを作成するよりも、効率が悪くなりますか?

どうもありがとう!

4

1 に答える 1

3

行列をベクトルに置き換えると、答えが得られます

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

于 2010-08-03T18:57:39.660 に答える