t3_concatenate_weights#

t3toolbox.backend.t3_operations.t3_concatenate_weights(weights_A, weights_B)#
def t3_concatenate_weights(
        weights_A: typ.Tuple[typ.Sequence[NDArray], typ.Sequence[NDArray]],  # (tucker_weights, tt_weights)
        weights_B: typ.Tuple[typ.Sequence[NDArray], typ.Sequence[NDArray]],  # (tucker_weights, tt_weights)
) -> typ.Tuple[
    typ.Tuple[NDArray, ...],  # concatenated tucker_weights, ranks add
    typ.Tuple[NDArray, ...],  # concatenated tt_weights,     ranks add
]:

Per-edge concatenation of two weight tuples (the + / direct-sum combine: ranks add). Last-axis concatenate; the shared C stack rides along. Same-length, same-stack tuples assumed.

Parameters:
  • weights_A (t3toolbox.backend.common.typ.Tuple[t3toolbox.backend.common.typ.Sequence[NDArray], t3toolbox.backend.common.typ.Sequence[NDArray]])

  • weights_B (t3toolbox.backend.common.typ.Tuple[t3toolbox.backend.common.typ.Sequence[NDArray], t3toolbox.backend.common.typ.Sequence[NDArray]])

Return type:

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