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.

Parameters:
  • tucker_cores (t3toolbox.backend.common.typ.Sequence[NDArray])

  • groups (t3toolbox.backend.common.typ.Tuple[t3toolbox.backend.common.typ.Tuple[int, ...], ...])

Return type:

t3toolbox.backend.common.typ.Tuple[NDArray, …]