tv_precompute_probe_frame_sweep#
- t3toolbox.backend.probing.tv_precompute_probe_frame_sweep(frame, ww)#
def tv_precompute_probe_frame_sweep( frame: typ.Tuple[ typ.Sequence[NDArray], # up_tucker_cores U. len=d typ.Sequence[NDArray], # down_tt_cores O. len=d typ.Sequence[NDArray], # left_tt_cores P. len=d typ.Sequence[NDArray], # right_tt_cores Q. len=d ], # frame order = T3Frame.data = (up, down, left, right) ww: typ.Sequence[NDArray], # probe vectors, len=d, elm_shape=W+(Ni,) ) -> typ.Tuple[ typ.Sequence[NDArray], # xis. len=d, elm_shape=W+C+(nUi,) typ.Sequence[NDArray], # mus. len=d, elm_shape=W+C+(rLi,) typ.Sequence[NDArray], # nus. len=d, elm_shape=W+C+(rR(i+1),) typ.Sequence[NDArray], # etas. len=d, elm_shape=W+C+(nOi,) ]: # full frame sweep -- (xis, mus, nus, etas)
The probe frame sweep (full): all four frame edge variables
(xi, mu, nu, eta). The probe leaves one mode free, so its transpose’s per-mode (vector) residual must be propagated through both the leftmuand rightnusweeps + the centraletacombine – it cannot use the scalar-residual adjoint-state shortcut that lets apply/entries dropnu/eta(tv_precompute_apply_frame_sweep()). Reused across the probe forward / transpose of an inner solve. §6.2.2 of Alger et al. (2026); no gauge projectorΠ.See also
tv_probe_jacobian_from_sweep,tv_probe_transpose_from_sweep,tv_precompute_apply_frame_sweep