Skip to main content
 首页 » 编程设计

python之Python 中的快速求和

2025年05月04日14zfyouxi

我想做一系列的点积。即

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) 

我们指定 ... 以启用广播,并沿最后一个轴执行点积。