C++ でスパース tesnor を表す適切なデータ構造は何ですか? 頭に浮かぶ最初のオプションは a ですboost::unordered_map
。これにより、次のような an 要素の高速な設定や取得などの操作が可能になります。
A(i,j,k,l) = 5
ただし、単一のインデックスに対して短縮を実行できるようにしたいと考えています。これには、インデックスの 1 つに対する合計が含まれます。
C(i,j,k,m) = A(i,j,k,l)*B(l,m)
この演算子を で実装するのはどれくらい簡単でしょうboost::unordered_map
か? より適切なデータ構造はありますか?