python如何将两个具有相同形状的4x1矩阵相乘

时间:2020-10-29 17:26:20

标签: python numpy matrix-multiplication

我刚刚意识到python会将两个4x1矩阵相乘,但是据我所知,不可能将两个4x1矩阵与另一个4x1矩阵相乘。我编写了以下代码对此进行了测试:

import numpy as np

first_four_by_one = np.array([[1], [2], [3], [4]])
print(first_four_by_one.shape)

second_four_by_one = np.array([[4], [5], [6], [7]])
print(second_four_by_one.shape)

result = first_four_by_one * second_four_by_one
print(result.shape)
print(result)

其结果如下:

(4, 1)
(4, 1)
(4, 1)
[[ 4]
 [10]
 [18]
 [28]]

有人可以描述吗?

1 个答案:

答案 0 :(得分:2)

您正在敏锐地执行逐元素矩阵乘法。要执行矩阵乘法,应使用numpy函数np.dot()

对于2D矩阵,您还可以使用@表示np.matmul()的运算符。如here所述,在使用高维矩阵(> 2D)时,该运算符可能会导致副作用