2017-01-19 3 views
0

Для двух матриц A и B с размерностью (x, y, z) и (y, x, z) соответственно, как точечный продукт в первых двух измерениях две матрицы? Результат должен иметь размерность (x, x, z).2D-точечный продукт на двух трехмерных матрицах вдоль aixs

Спасибо!

+0

Решение опубликовано решение для вас? – Divakar

+0

Да! Большое спасибо! –

ответ

0

Использование np.einsum с буквально то же строковое выражение -

np.einsum('xyz,yiz->xiz',a,b) # a,b are input arrays 

Заметим, что мы использовали yiz как строка обозначения для второго массива и не yxz, как то i должно быть новое измерение в выходной массив и не должен быть выровнен с первой осью первого массива, для которого мы уже присвоили x. Выделяемые размеры присваиваются одинаковой строковой нотации.