我想知道是否有一种方法可以在numpy einsum中对彼此依赖的索引进行编码,以使它们仅对输入矩阵的一部分进行索引。例如,对于两个数组
[0,1,2,3,4]的索引为i
[a,b,c,d,e]的索引为j
我们可以指示numpy einsum使其产生这样的数组吗?
[b + 2c + 3d + 4e,b + 2c + 3d + 4e,2c + 3d + 4e,3d + 4e,4e],索引为t
其中[t]的每个条目都是由索引为i,j> = t的子向量的点积产生的。
我完全不确定如何在numpy einsum约定中对此进行编码。还建议您提供其他有效解决此类示例的方法。
编辑:我已经考虑过扩大数组的尺寸,使其看起来像这样:
[[0,1,2,3,4],\
[0,0,1,2,3],\
[0,0,0,1,2],\
...]
,依此类推。但是事实证明,对于不感兴趣的数组大小来说,这很快会使问题变得太大。
提前谢谢!