У меня 2 набора векторов n*m
x_ij
и y_ij
размерности d
хранится в двух np.ndarray
X
и Y
формы n*m*d
. Я хочу получить матрицу скалярных продуктов n*m
x_ij.y_ij
. На данный момент я делаю это так:Элегантная пара мудр скалярное произведение многих векторов в NumPy
(X.T.reshape((d,m*n)) * Y.T.reshape((d,n*m))).sum(axis=0).reshape((m,n)).T
Это работает, но чувствует нелицеприятную/дилетантский, чем это должно быть. Есть ли более элегантный способ сделать эту операцию?
Вы не должны быть размещены на этот вопрос Просмотр Кода? :) http://stackoverflow.com/questions/42334719/simplifying-looped-numpy-operations – hpaulj
@hpaulj да, ... мой комментарий был до того, как он уточнил его потребности :) – Julien
Pot ... kettle ... – luckytaxi