t3_concatenate#
- t3toolbox.backend.t3_operations.t3_concatenate(xx)#
def t3_concatenate( xx: typ.Sequence[ typ.Tuple[typ.Sequence[NDArray], typ.Sequence[NDArray]] ], # T3 data tuples, each (tucker_cores, tt_cores); TT ranks must match at each seam ) -> typ.Tuple[ typ.Tuple[NDArray, ...], # tucker_cores (concatenated over modes) typ.Tuple[NDArray, ...], # tt_cores ]:
Concatenate a sequence of T3 segments into one T3 (inverse of
t3_segment()).At each seam the TT ranks must match – the trailing TT rank of one segment equals the leading TT rank of the next – otherwise a
ValueErroris raised. The join is structural (core-tuple concatenation); no re-orthogonalization.- Parameters:
xx (t3toolbox.backend.common.typ.Sequence[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]]