tv_retract#
- t3toolbox.backend.tv_operations.tv_retract(frame, variations)#
def tv_retract( frame: typ.Tuple[ typ.Sequence[NDArray], # up_tucker_cores typ.Sequence[NDArray], # down_tt_cores typ.Sequence[NDArray], # left_tt_cores typ.Sequence[NDArray], # right_tt_cores ], variations: typ.Tuple[ typ.Sequence[NDArray], # tucker_variations typ.Sequence[NDArray], # tt_variations ], ) -> typ.Tuple[ typ.Tuple[NDArray, ...], # tucker_cores (retracted T3, base-point ranks) typ.Tuple[NDArray, ...], # tt_cores ]:
Retract a frame-variations tangent vector onto the fixed-rank manifold.
Forms the shifted doubled-rank embedding (base point + v) via
tv_to_t3()(include_shift=True) and truncates it back to the base point’s own ranks – the Tuckerupranks andleftTT ranks read off the frame cores – with the implicit T3-SVD, yielding a point on the manifold of the base point’s ranks.The truncation is the implicit T3-SVD (Algorithm 10) of Alger et al. (2026), “Tucker Tensor Train Taylor Series” (arXiv:2603.21141).
- Parameters:
frame (t3toolbox.backend.common.typ.Tuple[t3toolbox.backend.common.typ.Sequence[NDArray], t3toolbox.backend.common.typ.Sequence[NDArray], t3toolbox.backend.common.typ.Sequence[NDArray], t3toolbox.backend.common.typ.Sequence[NDArray]])
variations (t3toolbox.backend.common.typ.Tuple[t3toolbox.backend.common.typ.Sequence[NDArray], t3toolbox.backend.common.typ.Sequence[NDArray]])
- Return type:
t3toolbox.backend.common.typ.Tuple[t3toolbox.backend.common.typ.Tuple[NDArray, Ellipsis], t3toolbox.backend.common.typ.Tuple[NDArray, Ellipsis]]