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を作成するよりも、効率が悪くなりますか?
どうもありがとう!