我正在学习 numpy 并且对广播有点困惑,这是我的设置。我有两个矩阵
>>> y=np.array([1,2,3])
>>> v = np.array([1,2,3])
>>> r=np.reshape(v, (3, 1))
所以 r 是 (3*1) 矩阵,而 y 是一个秩为 1 的矩阵,形状为 (3,)。
如果我做 y.dot(r),我得到 14,假设 numpy 在 y 上应用广播,使其成为 (1*3),然后它与 r(3*1) 进行点积,因此结果矩阵将为 1* 1.
但是,当我执行 r.dot(y) 时,它会引发错误。为什么它在这里不做同样的事情?它应该使 y(1*3) 和 r 成为(3*1),它应该给出一个 3*3 矩阵。这个推理有什么问题?