我有两个 numpy 数组,a 大小(20*3*3)和 b 大小(3*3)。设 a=(a1, a2, ..., a20)。我想像这样计算矩阵乘积元素:c=(c1, c2, ..., c20), ci=bT ai b, i=1~20。如何使用 numpy 有效地做到这一点?
使用 for 循环的慢版本是这样的:
a = np.random.sample((20, 3, 3))
b = np.random.sample((3, 3))
c = np.zeros_like(a)
for i0, ai in enumerate(a):
c[i0] = np.dot(b.T, np.dot(ai, b))
守着星空守着你
富国沪深
相关分类