为了账号安全,请及时绑定邮箱和手机立即绑定

Numpy整个矩阵乘以单行

Numpy整个矩阵乘以单行

温温酱 2021-08-05 16:28:25
我有两个 numpy 矩阵,A 和 B:A = [[0,-1],     [-2,5],     [2,6]]B = [[5,3],     [2,4]]Dimension of A: N * KDimension of B: K * K我想要做的是对A 的每一行和整个 B进行 marix 乘法,然后再将它与A 的每一行相乘。然后总结一下。这是:N = A.shape[0]sum = 0for i in range(N):    s = A[i] @ B @ A[i]    print(s)    sum += sreturn sum这印470224而4 + 70 + 224 = 298这正是我想要的。在没有 for 循环的情况下,是否有任何优雅或 Pythonic 的方式来实现这一点?谢谢

1 回答

?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

我们可以使用np.einsum——

np.einsum('ij,jk,ik->',A,B,A)

并使用optimize标志进一步优化它-

np.einsum('ij,jk,ik->',A,B,A,optimize=True)


查看完整回答
反对 回复 2021-08-05

添加回答

代码语言

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号