t3_alias_tied_tucker_factors#
- t3toolbox.backend.geometry.t3_alias_tied_tucker_factors(tucker_cores, groups)#
def t3_alias_tied_tucker_factors( tucker_cores: typ.Sequence[NDArray], # len=d; tied within each group by VALUE groups: typ.Tuple[typ.Tuple[int, ...], ...], # canonical partition (canonical_groups) ) -> typ.Tuple[NDArray, ...]: # len=d; ONE array object shared per group
Collapse each sharing group’s Tucker factors to a single array object.
The corewise additive retraction preserves tying by value (equal inputs plus equal updates give equal outputs), but leaves each group member holding its own equal-valued copy. Aliasing them to one object makes the tying structural rather than incidental – so a downstream consumer that checks identity, or a t3svd(sharing=…), sees one factor per group as the shared format intends.