tensorly.contrib.decomposition
.tensor_train_OI
- tensor_train_OI(data_tensor, rank, n_iter=2, trajectory=False, return_errors=True)[source]
Perform tensor-train orthogonal iteration (TTOI) [1] for tensor train decomposition
- Parameters:
- data_tensor: tl.tensor
observed tensor data
- ranktuple
rank of the TT decomposition must verify rank[0] == rank[-1] == 1 (boundary conditions) and len(rank) == len(tl.shape(data_tensor))+1
- n_iterint
the number of iterations
- trajectorybool, optional, default is False
if True, the output of each iteration of TTOI is returned: 2*n_iter outputs otherwise, only the output of the last iteration is returned
- return_errorsbool, optional, default is True
if True, the approximation/reconstruction error of each iteration of TTOI is returned: 2*n_iter outputs
- Returns:
- factorslist of n_iter lists of tensor-train factors or one list of tensor-train factors::
n_iter lists of factors (if trajectory is True) : each list contains the returned list of tensor-train factors from each iteration
one list of factors (otherwise): returned list of tensor-train factors from the last iteration
- full_tensorlist of n_iter tensors or one tensor::
n_iter tensors (if trajectory is True) : each list contains the returned full tensor from each iteration
one tensor (otherwise): returned full tensor from the last iteration
References
[1]Zhou, Y., Zhang, A. R., Zheng, L., & Wang, Y. (2022). Optimal high-order tensor svd via tensor-train orthogonal iteration.
IEEE Transactions on Information Theory, 68(6), 3991-4019.