Производительность снижается, и вы получите совершенно другой ответ!
Для векторного умножения (в отличие от умножения чисел) a @ b != b @ a
.В вашем случае (с учетом векторов столбцов) a.T @ b
- это число , а a @ b.T
- это полноценная матрица !Итак, если ваши векторы имеют форму (1, y), последняя операция приведет к (y, y) матрице, которая может быть довольно большой.Конечно, это займет гораздо больше времени для вычисления такой матрицы (иначе говоря, сложения большого числа чисел и получения целого числа чисел), чем для добавления набора чисел и для получения одного единственного числа .
Так работает матричное (или векторное) умножение.