понять np.matmul на 1D векторов - PullRequest
       37

понять np.matmul на 1D векторов

0 голосов
/ 09 октября 2018
a = [1, 2, 3]
b = [10, 10, 10]

np.matmul (a, b) в качестве результата дает 60.

Как умножается значение numpy (3,) и (3,) и возвращает точечное произведение, а не внешнее произведение (3* 3) или выдать ошибку «измерение не соответствует»?

1 Ответ

0 голосов
/ 09 октября 2018

Это непосредственно из документов numpy.matmul():

  • Если первый аргумент - 1-D, он преобразуется в матрицу, добавляя1 к своим размерам.После умножения матрицы префиксированный 1 удаляется.
  • Если вторым аргументом является 1-D, он преобразуется в матрицу путем добавления 1 к ее размерам.После умножения матрицы добавленная 1 удаляется.

Таким образом, форма входов a и b преобразуется в (1, 3) и (3,1) соответственно,при умножении матриц.

По правилам умножения матриц мы знаем, что:

1 x 3 3 x 1
||
-------- ===> суммируется.

Таким образом, мы получаем результат в виде скаляра .

...