numpy dot如何与广播一起使用

时间:2018-02-08 04:17:53

标签: numpy-broadcasting

我有两个numpy数组。当我使用numpy dot功能时,我得到了不同的结果。我无法理解点函数如何与广播一起产生这些输出。 有人能解释我这两者之间的区别。

A = np.array([[2,4,6]])
Y  = np.array([[1,0,1]])


np.dot(A,Y.T) = array([8])
np.dot (Y.T, A) = array([[2, 4, 6],
                        [0, 0, 0],
                        [2, 4, 6]])

1 个答案:

答案 0 :(得分:1)

dot函数是矩阵乘法,不涉及广播。 使用np.dot(A,Y.T)与python 3.5 +中的A@Y.T相同。

矩阵乘法不是可交换的(参数的顺序很重要)。 在第一种用法中,A是行向量,Y.T是列向量。这导致单个值。

在第二个例子中,Y.T是列向量,而A是行向量。这导致矩阵。