В настоящее время мы работаем над проектом Python, и нам приходится много векторизовать из-за ограничений производительности. В итоге мы получаем следующий расчет: у нас есть два массива numpy формы (20,6)
и мы хотим вычислить попарное скалярное произведение строк, т.е. мы должны получить в конце матрицу (20,1)
, где каждая строка является скаляром, полученным соответствующим вектором точечное умножение.
Numpy две матрицы, попарное точечное произведение строк [дубликаты]
comment
Да и какой у тебя вопрос? С какой проблемой вы столкнулись при попытке сделать это?
- person Jean-François Corbett   schedule 25.12.2016
Ответы (1)
Вы можете умножать два массива на элементы, а затем суммировать по строкам, и тогда у вас есть массив, в котором каждый элемент является точечным произведением строк двух исходных массивов:
a = np.array([[1,2], [3,4]])
b = np.array([[3,4], [2,1]])
(a * b).sum(axis=1)
# array([11, 10])
person
Psidom
schedule
25.12.2016
Вот и получилось, спасибо!
- person Sleik; 25.12.2016