View source: R/cpDecomposition.R
| cpDecomposition | R Documentation | 
Canonical Polyadic (CP) decomposition of a tensor, aka CANDECOMP/PARAFRAC. Approximate a K-Tensor using a sum of num_components rank-1 K-Tensors. A rank-1 K-Tensor can be written as an outer product of K vectors. There are a total of num_compoents *tnsr@num_modes vectors in the output, stored in tnsr@num_modes matrices, each with num_components columns. 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 CP decomposition, consult Kolda and Bader (2009).
cpDecomposition(tnsr, num_components = NULL, max_iter = 25, tol = 1e-05)
| tnsr | Tensor with K modes | 
| num_components | the number of rank-1 K-Tensors to use in approximation | 
| max_iter | maximum number of iterations if error stays above  | 
| tol | relative Frobenius norm error tolerance | 
Uses the Alternating Least Squares (ALS) estimation procedure. A progress bar is included to help monitor operations on large tensors.
a list containing the following
lambdasa vector of normalizing constants, one for each component
Ua list of matrices - one for each mode - each matrix with num_components columns
convwhether or not resid < tol by the last iteration
norm_percentthe percent of Frobenius norm explained by the approximation
estestimate of tnsr after compression
fnorm_residthe Frobenius norm of the error fnorm(est-tnsr)
all_residsvector containing the Frobenius norm of error for all the iterations
T. Kolda, B. Bader, "Tensor decomposition and applications". SIAM Applied Mathematics and Applications 2009.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.