ut3variations_to_t3variations#
- t3toolbox.backend.ufv_conversions.ut3variations_to_t3variations(x)#
def ut3variations_to_t3variations( x: typ.Tuple[ NDArray, # tucker_variations, (d,)+C+(nD, N) NDArray, # tt_variations, (d,)+C+(rL, nU, rR) typ.Tuple[int, ...], # shape typ.Tuple[ # (variations up, down, left, right) masks NDArray, NDArray, NDArray, NDArray, ], ], ) -> typ.Union[ typ.Tuple[typ.Tuple[NDArray, ...], typ.Tuple[NDArray, ...]], # (tucker_variations, tt_variations), if unstacked typ.Tuple, # else a nested tree (shape stack_shape) of those ]:
Convert uniform
UT3Variations.datato raggedT3Variationscore-tuples (or a tree, if stacked).Variations twin of
ut3frame_to_t3frame(). The physical mode dim is a prefix (slices[:Ni]fromshape); the rank masks scatter, so they extract withnp.argwhere(HOST numpy). The variation tt-coreH_ihas shape(rLi, nUi, rR(i+1))– left/up/right masks index its three axes.- Parameters:
x (t3toolbox.backend.common.typ.Tuple[NDArray, NDArray, t3toolbox.backend.common.typ.Tuple[int, Ellipsis], t3toolbox.backend.common.typ.Tuple[NDArray, NDArray, NDArray, NDArray]])
- Return type:
t3toolbox.backend.common.typ.Union[t3toolbox.backend.common.typ.Tuple[t3toolbox.backend.common.typ.Tuple[NDArray, Ellipsis], t3toolbox.backend.common.typ.Tuple[NDArray, Ellipsis]], t3toolbox.backend.common.typ.Tuple]