Addmm
Arguments
- self
(Tensor) matrix to be added
- mat1
(Tensor) the first matrix to be multiplied
- mat2
(Tensor) the second matrix to be multiplied
- out_dtype
(torch_dtype, optional) the output dtype
- beta
(Number, optional) multiplier for
input(\(\beta\))- alpha
(Number, optional) multiplier for \(mat1 @ mat2\) (\(\alpha\))
addmm(input, mat1, mat2, *, beta=1, alpha=1, out=NULL) -> Tensor
Performs a matrix multiplication of the matrices mat1 and mat2.
The matrix input is added to the final result.
If mat1 is a \((n \times m)\) tensor, mat2 is a
\((m \times p)\) tensor, then input must be
broadcastable with a \((n \times p)\) tensor
and out will be a \((n \times p)\) tensor.
alpha and beta are scaling factors on matrix-vector product between
mat1 and mat2 and the added matrix input respectively.
$$
\mbox{out} = \beta\ \mbox{input} + \alpha\ (\mbox{mat1}_i \mathbin{@} \mbox{mat2}_i)
$$
For inputs of type FloatTensor or DoubleTensor, arguments beta and
alpha must be real numbers, otherwise they should be integers.
Examples
if (torch_is_installed()) {
M = torch_randn(c(2, 3))
mat1 = torch_randn(c(2, 3))
mat2 = torch_randn(c(3, 3))
torch_addmm(M, mat1, mat2)
}
#> torch_tensor
#> 1.8314 0.9681 1.3955
#> 1.2189 2.6477 -1.4684
#> [ CPUFloatType{2,3} ]