繁体   English   中英

Python快速求和

[英]Fast Summation in Python

我想做一系列的点产品。

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]kr的前两个维度的长度,

kr = numpy.einsum('...i,...i->...', k, r)

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

假设kr具有三个维度,则与以下相同:

kr = numpy.sum(k * r, axis=-1)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM