Description Usage Arguments Details Value Note References See Also Examples
View source: R/rTensor_Decomp.R
The Tucker decomposition of a tensor. Approximates a KTensor using a nmode product of a core tensor (with modes specified by ranks
) with orthogonal factor matrices. If there is no truncation in one of the modes, then this is the same as the MPCA, mpca
. If there is no truncation in all the modes (i.e. ranks = tnsr@modes
), then this is the same as the HOSVD, hosvd
. This is an iterative algorithm, with two possible stopping conditions: either relative error in Frobenius norm has gotten below tol
, or the max_iter
number of iterations has been reached. For more details on the Tucker decomposition, consult Kolda and Bader (2009).
1 
tnsr 
Tensor with K modes 
ranks 
a vector of the modes of the output core Tensor 
max_iter 
maximum number of iterations if error stays above 
tol 
relative Frobenius norm error tolerance 
Uses the Alternating Least Squares (ALS) estimation procedure also known as HigherOrder Orthogonal Iteration (HOOI). Intialized using a (Truncated)HOSVD. A progress bar is included to help monitor operations on large tensors.
a list containing the following:
Z
the core tensor, with modes specified by ranks
U
a list of orthgonal factor matrices  one for each mode, with the number of columns of the matrices given by ranks
conv
whether or not resid
< tol
by the last iteration
est
estimate of tnsr
after compression
norm_percent
the percent of Frobenius norm explained by the approximation
fnorm_resid
the Frobenius norm of the error fnorm(esttnsr)
all_resids
vector containing the Frobenius norm of error for all the iterations
The length of ranks
must match tnsr@num_modes
.
T. Kolda, B. Bader, "Tensor decomposition and applications". SIAM Applied Mathematics and Applications 2009.
1 2 3 4 5  tnsr < rand_tensor(c(4,4,4,4))
tuckerD < tucker(tnsr,ranks=c(2,2,2,2))
tuckerD$conv
tuckerD$norm_percent
plot(tuckerD$all_resids)


  0%

===  4%

======  8%

========  12%

===========  16%

==============  20%

=================  24%

====================  28%

======================  32%

=========================  36%

============================  40%

===============================  44%

==================================  48%

====================================  52%

=======================================  56%

==========================================  60%

====================================================================== 100%
[1] TRUE
[1] 13.5284
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.