numpy.vecmat#
- numpy.vecmat(x1, x2, /, out=None, *, casting='same_kind', order='K', dtype=None, subok=True[, signature, axes, axis]) = <ufunc 'vecmat'>#
兩個陣列的向量-矩陣點積。
給定
x1
中的向量(或向量堆疊)\(\mathbf{v}\) 和x2
中的矩陣(或矩陣堆疊)\(\mathbf{A}\),向量-矩陣乘積定義為\[\mathbf{b} \cdot \mathbf{A} = \sum_{i=0}^{n-1} \overline{v_i}A_{ij}\]其中總和遍及
x1
的最後一個維度和x2
的倒數第二個維度(除非指定 axes),且 \(\overline{v_i}\) 表示複共軛(如果 \(v\) 是複數),否則為單位矩陣。(對於非共軛向量-矩陣乘積,請使用np.matvec(x2.mT, x1)
。)在 2.2.0 版本中新增。
- 參數:
- x1, x2array_like
輸入陣列,不允許純量。
- outndarray, optional
結果儲存的位置。如果提供,則其形狀必須是廣播後的
x1
和x2
,並移除求和軸。如果未提供或為 None,則會使用新分配的陣列。- **kwargs
對於其他僅限關鍵字引數,請參閱 ufunc 文件。
- 傳回值:
- yndarray
輸入的向量-矩陣乘積。
- 引發:
- ValueError
如果
x1
的最後一個維度和x2
的倒數第二個維度大小不同。如果傳入純量值。
範例
沿著 X 和 Y 軸投影向量。
>>> v = np.array([0., 4., 2.]) >>> a = np.array([[1., 0., 0.], ... [0., 1., 0.], ... [0., 0., 0.]]) >>> np.vecmat(v, a) array([ 0., 4., 0.])