TuckerTensorTrain.from_tensor_train#
- static t3toolbox.tucker_tensor_train.TuckerTensorTrain.from_tensor_train(tt_cores)#
def from_tensor_train( tt_cores: Sequence[NDArray], # elm_shape=stack_shape+(ri, N, r(i+1)) ) -> 'TuckerTensorTrain':
Convert tensor train into Tucker tensor train by using identity matrices for Tucker bases.
- Parameters:
tt_cores (Sequence[NDArray]) – Tensor train cores.
len(tt_cores)=d,tt_cores[ii].shape=stack_shape+(ri, Ni, r(i+1)).- Returns:
T – Input tensor train, converted to TuckerTensorTrain format.
- Return type:
See also
Examples
>>> import numpy as np >>> import t3toolbox.tucker_tensor_train as t3 >>> np.random.seed(0) >>> randn = np.random.randn >>> tt_cores = [randn(4,14,5), randn(5,15,3), randn(3,16,2)] >>> x = t3.TuckerTensorTrain.from_tensor_train(tt_cores) >>> x_dense = x.to_dense() >>> x_dense2 = np.einsum('...aib,...bjc,...ckd->...ijk', *tt_cores) >>> print(np.allclose(x_dense, x_dense2)) True