fv_share_tucker_variations_corewise#
- t3toolbox.backend.sharing.fv_share_tucker_variations_corewise(variations_data, groups)#
def fv_share_tucker_variations_corewise( variations_data: typ.Tuple[ typ.Sequence[NDArray], # tucker_variations. len=d, elm_shape=(K+C)+(ni, Ni) typ.Sequence[NDArray], # tt_variations. len=d, elm_shape=(K+C)+(rLi, ni, rRi) ], groups: typ.Tuple[typ.Tuple[int, ...], ...], # static; canonical (validate_sharing) ) -> typ.Tuple[ typ.Tuple[NDArray, ...], # tucker_variations; ONE mean array per group typ.Tuple[NDArray, ...], # tt_variations, untouched ]:
The tied post-pass of the shared COREWISE geometry: orthogonally project raw core perturbations onto the tied subspace
{dU_i all equal within each group}.On the corewise geometry the coordinates are raw factor copies and the metric is Euclidean on the core entries, so the projection is the per-group arithmetic mean, assigned as ONE array per group (the additive corewise retraction then preserves tying exactly). Computed in the drift form (
ref + mean of differences) so an exactly-tied group is a bitwise fixed point. TT variations untouched. This is NOT the manifold geometry’s post-pass – the two geometries tie by orthogonal projection in their OWN metrics on their OWN coordinates, and the formulas differ (seefv_share_tucker_variations()).