举一个函数的一个小例子,这里有两个数组,我们想要逐个元素相乘,然后沿轴1(数组的行)求和:
A= np.array([0,1,2])
B= np.array([[0, 1, 2, 3],...我们要相乘的两个数组是:
A= np.array([[1,1,1],
[2,2,2],
[5,5,5]])
B= np.array([[0,1,0...通过累加的方式将它从轴上除去,最终数组中的维数减少1。如果输出是’ijk’,我们得到的结果是3x3x3数组(如果我们不提供输出标签,只写箭头,则对整个数组求和)。...知道如何将不同的轴相乘,然后如何对乘积求和,我们可以迅速而简单地表达许多不同的操作。这使我们可以相对容易地将问题推广到更高维度。例如,我们不必插入新的轴或转置数组以使它们的轴正确对齐。...你认为对于一个3维数组,np.einsum(‘kij’, M)将最后一个轴移动到第一个位置并移动前两个轴到后面去是情有可原的。实际上,einsum通过按字母顺序重新排列标签来创建自己的输出标签。