在 C++ 中表示稀疏张量的合适数据结构是什么?想到的第一个选项是 aboost::unordered_map
因为它允许快速设置和检索 an 元素等操作,如下所示:
A(i,j,k,l) = 5
但是,我也希望能够对单个索引进行收缩,这将涉及对其中一个索引的求和
C(i,j,k,m) = A(i,j,k,l)*B(l,m)
用 a 实现这个运算符有多容易boost::unordered_map
?有没有更合适的数据结构?
在 C++ 中表示稀疏张量的合适数据结构是什么?想到的第一个选项是 aboost::unordered_map
因为它允许快速设置和检索 an 元素等操作,如下所示:
A(i,j,k,l) = 5
但是,我也希望能够对单个索引进行收缩,这将涉及对其中一个索引的求和
C(i,j,k,m) = A(i,j,k,l)*B(l,m)
用 a 实现这个运算符有多容易boost::unordered_map
?有没有更合适的数据结构?