[英]Numpy: multiplying matrix elements with array of matrices
我需要将a的元素乘以2x2矩阵x与矩阵y相乘,矩阵y的元素是2x2矩阵。 当我使用传统的numpy乘法时,它采用整个矩阵x,并将其与y中的每个矩阵相乘。 我一直在搜索numpy doc。 对于会复制这个的东西:
>>> x = np.array([[1, 0], [0, 1]])
>>> x
array([[1, 0],
[0, 1]])
>>> y = np.ones((2, 2, 2, 2))
>>> y
array([[[[ 1., 1.],
[ 1., 1.]],
[[ 1., 1.],
[ 1., 1.]]],
[[[ 1., 1.],
[ 1., 1.]],
[[ 1., 1.],
[ 1., 1.]]]])
>>> multiply(x,y)
[[[[1, 1],
[1, 1]],
[[0, 0],
[0, 0]]],
[[[0, 0],
[0, 0]],
[[1, 1],
[1, 1]]]]
编辑:从@Dalek和@DSM的评论看来,实际上你想要的是:
np.einsum('ij, ijkl-> ijkl', x, y)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.