我想做一系列的点积。即
for i in range(N[0]):
for j in range(N[1]):
kr[i,j] = dot(k[i,j,:], r[i,j,:])
有没有向量化的方法来做到这一点,例如使用 einsum 或 tensordot?
请您参考如下方法:
假设N[0]和N[1]分别是k和r
<的前两个维度的长度< code>
,
的前两个维度的长度<>
kr = numpy.einsum('...i,...i->...', k, r)
我们指定 ... 以启用广播,并沿最后一个轴执行点积。
