Я пытаюсь умножить эти одномерные матрицы (или векторы) друг на друга следующим образом:
a = np.array([1,2,3]).reshape(1,3)
b = np.array([4,5,6]).reshape(1,3)
c = np.dot(a,b)
print(c)
выводит ab error как «фигуры (1,3) и (1,3) не выровнены», которые являются правильными согласно законам умножения матриц.
Но когда я делаю c = a*b
и print(c)
, я получаю матрицу 1 x 3 - array([[ 4, 10, 18]])
.
мой вопрос, как умножение матрицы 1 X 3 * 1 X 3 дает матрицу 1 X 3? Столбцы первой матрицы должны равняться строкам второй. Не правда ли?
Более того, было бы замечательно, если бы кто-нибудь из вас мог пролить дополнительную информацию о том, чем скалярное произведение двух матриц форм (i, j) отличается от его умножения a*b
?