多维3维阵列乘以2维阵列

2022-04-12 00:00:00 python numpy arrays linear-algebra

问题描述

我有两个矩阵,m0.shape = [10, 3, 3]m1.shape = [10, 3]。我想要做的是使用循环这样做:

m0 = np.zeros((10, 3, 3))
m1 = np.zeros((10, 3))
a = np.zeros((10, 3))
for i in range(10):
    a += m1 @ m0[i]

问题是:我可以通过使用内置Numy操作以某种方式达到相同的结果吗?


解决方案

我认为您有两个选择:

import numpy as np

np.sum(m1 @ m0, axis=0)

或使用numpy.einsum

np.einsum('ij,kjl->il', m1, m0)

相关文章