mindspore.Tensor.addmv
- Tensor.addmv(mat, vec, beta=1, alpha=1)[source]
Multiplies matrix mat and vector vec. Input vector is added to the final result.
If mat is a \((N, M)\) tensor, vec is a 1-D tensor of size \(M\), then x must be broadcastable with a 1-D tensor of size \(N\) and out will be 1-D tensor of size \(N\).
The optional values beta and alpha are the matrix-vector product between mat and vec and the scale factor for the added tensor x respectively. If beta is 0, then x will be ignored.
\[output = β x + α (mat @ vec)\]- Parameters
mat (Tensor) – The first tensor to be multiplied. The shape of the tensor is \((N, M)\).
vec (Tensor) – The second tensor to be multiplied. The shape of the tensor is \((M,)\).
beta (scalar[int, float, bool], optional) – Multiplier for x (β). The beta must be int or float or bool, Default: 1.
alpha (scalar[int, float, bool], optional) – Multiplier for mat @ vec (α). The alpha must be int or float or bool, Default: 1.
- Returns
Tensor, the shape of the output tensor is \((N,)\), has the same dtype as x.
- Raises
TypeError – If mat, vec, x is not a Tensor.
TypeError – If input tensor and x, mat, ‘vec’ are not the same dtype.
ValueError – If mat is not a 2-D Tensor. If x, vec is not a 1-D Tensor.
- Supported Platforms:
Ascend
GPU
CPU
Examples
>>> x = Tensor(np.array([2., 3.]).astype(np.float32)) >>> mat = Tensor(np.array([[2., 5., 3.], [4., 2., 2.]]).astype(np.float32)) >>> vec = Tensor(np.array([3., 2., 4.]).astype(np.float32)) >>> output = x.addmv(mat, vec) >>> print(output) [30. 27.]