TuckerTensorTrain.reverse ========================= .. py:method:: t3toolbox.tucker_tensor_train.TuckerTensorTrain.reverse() .. code-block:: python def reverse(self) -> 'TuckerTensorTrain': Reverse Tucker tensor train. :returns: Tucker tensor train with index order reversed. ``shape=(N(d-1), ..., N0)``, ``tucker_ranks=(n(d-1),...,n0)``, ``tt_ranks=(1,r(d-1),...,r1,1)``. :rtype: TuckerTensorTrain .. rubric:: Examples >>> import numpy as np >>> import t3toolbox.tucker_tensor_train as t3 >>> np.random.seed(0) >>> randn = np.random.randn >>> tucker_cores = (randn(2,3, 4,10), randn(2,3, 5,11), randn(2,3, 6,12)) >>> tt_cores = (randn(2,3, 1,4,2), randn(2,3, 2,5,3), randn(2,3, 3,6,4)) >>> x = t3.TuckerTensorTrain(tucker_cores, tt_cores) >>> print(x.structure) ((10, 11, 12), (4, 5, 6), (1, 2, 3, 4), (2, 3)) >>> reversed_x = x.reverse() >>> print(reversed_x.structure) # shape, Tucker and TT ranks all reversed ((12, 11, 10), (6, 5, 4), (4, 3, 2, 1), (2, 3)) >>> x_dense = x.to_dense() >>> reversed_x_dense = reversed_x.to_dense() >>> x_dense2 = reversed_x_dense.transpose([0,1, 4,3,2]) # un-reverse the free axes >>> print(np.allclose(x_dense, x_dense2)) True