t3_orthogonal_representations#
- t3toolbox.backend.fv_conversions.t3_orthogonal_representations(x, already_left_orthogonal=False, squash_tails=True, uniform_masks=None)#
def t3_orthogonal_representations( x: typ.Union[ typ.Tuple[ typ.Tuple[NDArray,...], # tucker_cores typ.Tuple[NDArray,...], # tt_cores ], # ragged typ.Tuple[ NDArray, # tucker_supercore NDArray, # tt_supercore ], # uniform ], already_left_orthogonal: bool = False, squash_tails: bool = True, uniform_masks: typ.Optional[typ.Tuple[typ.Sequence[int], NDArray, NDArray]] = None, # uniform only: (shape, tucker_edge_mask, tt_edge_mask) -- HOST static ints + # bool rank masks of the input .data. Given -> every SVD in the sweep is # PAD-SAFE (linalg.pad_safe_svd) with the mask recurrences threaded per step. ) -> typ.Union[ typ.Tuple[ typ.Tuple[ typ.Tuple[NDArray,...], # up_tucker_cores typ.Tuple[NDArray, ...], # down_tt_cores typ.Tuple[NDArray,...], # left_tt_cores typ.Tuple[NDArray,...], # right_tt_cores ], typ.Tuple[ typ.Tuple[NDArray,...], # tucker_variations typ.Tuple[NDArray,...], # tt_variations ], ], # ragged typ.Tuple[ typ.Tuple[ NDArray, # up_tucker_supercore NDArray, # down_tucker_supercore NDArray, # left_tt_supercore NDArray, # right_tucker_supercore ], typ.Tuple[ NDArray, # tucker_variations_supercore NDArray, # tt_variations_supercore ], ], # uniform ]:
Construct frame-variation representations of TuckerTensorTrain with orthogonal frame.
Sweeping orthogonalization (Algorithm 11) producing the representations (45)-(46), Appendix A.3, of Alger et al. (2026), “Tucker Tensor Train Taylor Series” (arXiv:2603.21141). NOTE: the left/right sweep order here differs from Algorithm 11 (left-then-right vs the paper’s right-then-left); the resulting orthogonal representations are equivalent.
- Parameters:
x (t3toolbox.backend.common.typ.Union[t3toolbox.backend.common.typ.Tuple[t3toolbox.backend.common.typ.Tuple[NDArray, ...], t3toolbox.backend.common.typ.Tuple[NDArray, ...]], t3toolbox.backend.common.typ.Tuple[NDArray, NDArray]])
already_left_orthogonal (bool)
squash_tails (bool)
uniform_masks (t3toolbox.backend.common.typ.Optional[t3toolbox.backend.common.typ.Tuple[t3toolbox.backend.common.typ.Sequence[int], NDArray, NDArray]])
- Return type:
t3toolbox.backend.common.typ.Union[t3toolbox.backend.common.typ.Tuple[t3toolbox.backend.common.typ.Tuple[t3toolbox.backend.common.typ.Tuple[NDArray, …], t3toolbox.backend.common.typ.Tuple[NDArray, …], t3toolbox.backend.common.typ.Tuple[NDArray, …], t3toolbox.backend.common.typ.Tuple[NDArray, …]], t3toolbox.backend.common.typ.Tuple[t3toolbox.backend.common.typ.Tuple[NDArray, …], t3toolbox.backend.common.typ.Tuple[NDArray, …]]], t3toolbox.backend.common.typ.Tuple[t3toolbox.backend.common.typ.Tuple[NDArray, NDArray, NDArray, NDArray], t3toolbox.backend.common.typ.Tuple[NDArray, NDArray]]]