ut3_unstack#
- t3toolbox.backend.ut3_operations.ut3_unstack(x)#
def ut3_unstack( x: typ.Tuple[ NDArray, # tucker_supercore NDArray, # tt_supercore typ.Tuple[int, ...], # shape typ.Tuple[NDArray, NDArray], # (tucker_edge_mask, tt_edge_mask) ], ): # -> nested tuple (shaped like stack_shape) of unstacked uniform-T3 .data leaves
Unstack a uniform Tucker tensor train into an array-like tree of unstacked ones.
The stack lives at axes
1 .. len(stack_shape)(axis 0 is the mode indexd). The supercores and the rank masks unstack along it;shapeis shared and replicated onto every leaf (the ndarray-only(tk, tt, tkm, ttm)go through the tree machinery;shapeis woven in after).