| ttl | R Documentation |
Contracted (m-Mode) product between a Tensor of arbitrary number of modes and a list of matrices. The result is folded back into Tensor.
ttl(darr, list_mat, ms=NULL)
darr |
DelayedArray object with K modes |
list_mat |
a list of 2D DelayedArray objects |
ms |
a vector of modes to contract on
(order should match the order of |
This function is an extension of the ttl
by DelayedArray.
This is a wrapper function to unfold.
Performs ttm repeated for a single Tensor and
a list of matrices on multiple modes. For instance,
suppose we want to do multiply a Tensor object darr with
three matrices mat1, mat2, mat3 on modes 1, 2, and 3.
We could do ttm(ttm(ttm(darr,mat1,1),mat2,2),3),
or we could do ttl(darr,list(mat1,mat2,mat3),c(1,2,3)).
The order of the matrices in the list should obviously match
the order of the modes.
This is a common operation for various Tensor decompositions
such as CP and Tucker.
For the math on the m-Mode Product, see Kolda and Bader (2009).
DelayedArray object with K modes (Tensor)
The returned Tensor does not drop any modes equal to 1.
T. Kolda, B. Bader, "Tensor decomposition and applications". SIAM Applied Mathematics and Applications 2009.
ttm
library("DelayedRandomArray")
darr <- RandomUnifArray(c(3,4,5))
dlizt <- list(
'darr1' = RandomUnifArray(c(10,3)),
'darr2' = RandomUnifArray(c(10,4)))
ttl(darr, dlizt, ms=c(1,2))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.