t3_probe_corewise_transpose#
- t3toolbox.backend.probing.t3_probe_corewise_transpose(ztildes, ww, core_pair, sum_over_probes=False)#
def t3_probe_corewise_transpose( ztildes: typ.Sequence[NDArray], # probe residuals, len=d, elm_shape=W+C+(Ni,) ww: typ.Sequence[NDArray], # probe vectors, len=d, elm_shape=W+(Ni,) core_pair: typ.Tuple[ typ.Sequence[NDArray], # tucker_cores, len=d, elm_shape=C+(ni,Ni) typ.Sequence[NDArray], # tt_cores, len=d, elm_shape=C+(ri,ni,r(i+1)) ], sum_over_probes: bool = False, # True: sum the probe stack W (the gradient J^T r) ) -> typ.Tuple[ typ.Tuple[NDArray, ...], # tucker-core gradients, same shapes as tucker_cores typ.Tuple[NDArray, ...], # tt-core gradients, same shapes as tt_cores ]:
Corewise (non-manifold) transpose of
t3_probe(): gradient of the probes w.r.t. the cores of the framecore_pair, treated as independent variables.The probe analog of
t3_apply_corewise_transpose()– the Section 6.3 substitutionP, Q, O -> G_i(Unon-orthogonal) intotv_probe_transpose(), i.e. that transpose at frame(U, G, G, G). Returns gradients shaped exactly like(tucker_cores, tt_cores)(a gradient, not a tensor; no|W|blow-up). For non-manifold optimizers (Adam, L-BFGS) fitting from probes.sum_over_probes=Truesums the probe stackW(the gradientJ^T r);Falsekeeps it. Math reference: Section 6.3, Alger et al. (2026) (arXiv:2603.21141).