在C ++中表示稀疏tesnor的适当数据结构是什么?
想到的第一个选项是boost::unordered_map
,因为它允许快速设置和检索下面这样的元素之类的操作:
A(i,j,k,l) = 5
但是,我还希望能够对单个指数进行收缩,这将涉及对其中一个指数的求和
C(i,j,k,m) = A(i,j,k,l)*B(l,m)
使用boost::unordered_map
实现此运算符有多容易?是否有更合适的数据结构?
答案 0 :(得分:0)
有张量库可用,例如:
http://www.codeproject.com/KB/recipes/tensor.aspx
和
http://cadadr.org/fm/package/ftensor.html
有这些问题吗?使用地图可以获得更多的张量操作。