Как следует из названия, я хочу рассчитать покомпонентный продукт всех комбинаций столбцов двух матриц. Я уже нашел решение, используя numpy.einsum
и numpy.hstack
. Интересно, есть ли решение без hstack
.
Пусть a = [a_1, a_2, ..., a_n]
будет матрицей d x n
, а b = [b_1, b_2, ..., b_m]
- матрицей d x m
. я хочу рассчитать
[a_1b_1, a_1b_2, ..., a_nb_{n-1}, a_nb_n]
,
где a_kb_l
— произведение по компонентам, т. е. a_kb_l = [a_{1,k}*b{1,l}, ..., a_{d,k}*b{d,l}].T
.
Мое решение заключается в следующем. np.hstack(np.einsum('...j,...l -> j...l', a, b))
Могу ли я обойтись без h_stack
?