Мне нужно умножить элементы матрицы a, скажем, 2x2, x, с матрицей y, элементами которой являются 2x2-матрицы. Когда я использую обычное умножение numpy, он принимает всю матрицу x и умножает ее на каждую матрицу по y. Я искал numpy doc. за то, что будет повторить это:Numpy: умножение матричных элементов с массивом матриц
>>> 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
Как умножить каждый элемент матрицы x, как если бы он был скаляром с соответствующей матрицей по y. в основном мне нужно что-то, что будет реплицировать функцию умножения, которую я дал в примере кода. – user2909415
@ user2909415 Кажется, вы ищете 'np.tensordot (x, y, axes = [[0, 1], [0, 1]])', но ваш вопрос неясно ... каков ожидаемый результат? –