tv_orthogonal_gauge_projection#
- t3toolbox.backend.tv_operations.tv_orthogonal_gauge_projection(frame, variations, shared_data=None)#
def tv_orthogonal_gauge_projection( 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 ], shared_data: typ.Optional['sharing_module.SharedFrameData'] = None, # tied post-pass (SF-T3) ) -> typ.Tuple[ typ.Tuple[NDArray, ...], # gauged_tucker_variations typ.Tuple[NDArray, ...], # gauged_tt_variations ]:
Project the variations onto the gauge-satisfying subspace (orthogonal projection).
Changes the represented tangent vector. The result satisfies, for an orthogonal frame,
U_i V_i^T = 0(all i) andeinsum('...abi,...abj->...ij', L_i, H_i) = 0(i = 0..d-2). Stack-aware. Uniform twin:utv_orthogonal_gauge_projection().With
shared_data(the frame’s SF-T3 companion,fv_shared_frame_data()), the gauge projection is followed by the tied post-pass (fv_share_tucker_variations()) – the composition is the orthogonal projection onto the TIED gauged tangent subspace, since the tied subspace is contained in the gauged one. DefaultNone: unchanged behavior.Gauge conditions (48)-(49), Appendix A.3, 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]])
shared_data (t3toolbox.backend.common.typ.Optional[SharedFrameData])
- Return type:
t3toolbox.backend.common.typ.Tuple[t3toolbox.backend.common.typ.Tuple[NDArray, …], t3toolbox.backend.common.typ.Tuple[NDArray, …]]