gpt4 book ai didi

python - numpy中3维矩阵的乘法

转载 作者:太空狗 更新时间:2023-10-30 01:29:38 25 4
gpt4 key购买 nike

我想我问了 wrong question昨天。我真正想要的是将两个 2x2xN 相乘矩阵 AB , 所以

C[:,:,i] = dot(A[:,:,i], B[:,:,i])

例如,如果我有一个矩阵

A = np.arange(12).reshape(2, 2, 3)

我怎样才能得到 C = A x A与上述定义?是否有内置函数可以执行此操作?


此外,如果我乘以 A (shape 2x2xN)B (shape 2x2x1, instead of N) , 我想得到

C[:,:,i] = dot(A[:,:,i], B[:,:,1])

最佳答案

尝试使用 numpy.einsum,它有一点学习曲线,但它应该能满足您的需求。这是一个让您入门的示例。

import numpy as np

A = np.random.random((2, 2, 3))
B = np.random.random((2, 2, 3))

C1 = np.empty((2, 2, 3))
for i in range(3):
C1[:, :, i] = np.dot(A[:, :, i], B[:, :, i])

C2 = np.einsum('ijn,jkn->ikn', A, B)
np.allclose(C1, C2)

关于python - numpy中3维矩阵的乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15535954/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com