[4, 5, 6, 7],
[8, 9,10,11]])
我们通常如何在NumPy中执行此操作?...这只在标记为j的轴在两个数组中的长度相同(或者任一数组长度为1)时才有效。
输出中省略的字母意味着沿该轴的值将相加。
在这里,j不包含在输出数组的标签中。...通过累加的方式将它从轴上除去,最终数组中的维数减少1。如果输出是’ijk’,我们得到的结果是3x3x3数组(如果我们不提供输出标签,只写箭头,则对整个数组求和)。...我们可以按照我们喜欢的任何顺序返回未没进行累加的轴。
如果我们省略箭头’->’,NumPy会将只出现一次的标签按照字母顺序排列(因此实际上’ij,jk->ik’相当于’ij,jk’)。...你认为对于一个3维数组,np.einsum(‘kij’, M)将最后一个轴移动到第一个位置并移动前两个轴到后面去是情有可原的。实际上,einsum通过按字母顺序重新排列标签来创建自己的输出标签。