Всем привет! Например, опираясь на определение из учебника Беклимишева мы определяем результат матричного умножения как матрицу

, ячейки которой определяются таким образом:

В таком случае если мы перемножаем столбец высоты

на строку длины

, то должны получить матрицу размеров

. В Python есть метод для матричного умножения
numpy.matmul, но почему-то если ему передать столбец и строку:
Код:
import numpy as np
a = np.array([[1], [2], [3]])
b = np.array([1, 2])
print(np.matmul(a, b))
то будет ошибка. Чтобы всё получилось, нужно вызвать другой метод
numpy.outerПодскажите почему матричное умножение в numpy работает не согласно определению матричного умножения? Или матричное умножение для столбца и строки определено только в учебнике Беклимишева? :)