Поэлементное умножение двух векторов не представляет проблемы, если они оба имеют одинаковую форму, скажем, оба ( n,1) или оба (n,). Если же один вектор имеет форму (n,1), а другой (n,), то оператор *
возвращает нечто забавное.
a = np.ones((3,1))
b = np.ones((3,))
print a * b
Результирующая nxn-матрица содержит A_{i,j}=a_i*b_j.
Как тогда выполнить поэлементное умножение для a
и b
?