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.