numpy.matvec#
- numpy.matvec(x1, x2, /, out=None, *, casting='same_kind', order='K', dtype=None, subok=True[, signature, axes, axis]) = <ufunc 'matvec'>#
兩個陣列的矩陣向量點積。
給定
x1
中的矩陣(或矩陣堆疊)\(\mathbf{A}\) 和x2
中的向量(或向量堆疊)\(\mathbf{v}\),矩陣向量積定義為\[\mathbf{A} \cdot \mathbf{b} = \sum_{j=0}^{n-1} A_{ij} v_j\]其中總和遍及
x1
和x2
中的最後維度(除非指定axes
)。 (對於向量共軛的矩陣向量積,請使用np.vecmat(x2, x1.mT)
。)2.2.0 版本新增。
- 參數:
- x1, x2array_like
輸入陣列,不允許純量。
- outndarray,可選
結果儲存的位置。 如果提供,它必須具有
x1
和x2
的廣播形狀,並移除加總軸。 如果未提供或為 None,則會使用新分配的陣列。- **kwargs
對於其他僅限關鍵字引數,請參閱 ufunc 文件。
- 返回:
- yndarray
輸入的矩陣向量積。
- 引發:
- ValueError
如果
x1
和x2
的最後維度大小不同。如果傳入純量值。
範例
沿 Z 軸將一組向量從 Y 旋轉到 X。
>>> a = np.array([[0., 1., 0.], ... [-1., 0., 0.], ... [0., 0., 1.]]) >>> v = np.array([[1., 0., 0.], ... [0., 1., 0.], ... [0., 0., 1.], ... [0., 6., 8.]]) >>> np.matvec(a, v) array([[ 0., -1., 0.], [ 1., 0., 0.], [ 0., 0., 1.], [ 6., 0., 8.]])