# Chain_matmul

Source:`R/gen-namespace-docs.R`

, `R/gen-namespace-examples.R`

, `R/gen-namespace.R`

`torch_chain_matmul.Rd`

Chain_matmul

## Arguments

- matrices
(Tensors...) a sequence of 2 or more 2-D tensors whose product is to be determined.

## TEST

Returns the matrix product of the \(N\) 2-D tensors. This product is efficiently computed
using the matrix chain order algorithm which selects the order in which incurs the lowest cost in terms
of arithmetic operations (`[CLRS]`

_). Note that since this is a function to compute the product, \(N\)
needs to be greater than or equal to 2; if equal to 2 then a trivial matrix-matrix product is returned.
If \(N\) is 1, then this is a no-op - the original matrix is returned as is.

## Examples

```
if (torch_is_installed()) {
a = torch_randn(c(3, 4))
b = torch_randn(c(4, 5))
c = torch_randn(c(5, 6))
d = torch_randn(c(6, 7))
torch_chain_matmul(list(a, b, c, d))
}
#> torch_tensor
#> -4.9114 11.1095 -3.5044 14.9431 17.5463 -4.6954 -8.2067
#> -4.2924 2.9680 -1.0878 3.3883 7.5599 -2.4557 -3.2995
#> 5.2357 -3.2431 5.0502 -2.0051 -8.0577 -1.0972 1.1601
#> [ CPUFloatType{3,7} ]
```