t3_corewise_frame#

t3toolbox.backend.fv_conversions.t3_corewise_frame(x_cores)#
def t3_corewise_frame(
        x_cores:  typ.Tuple,   # (tucker_cores, tt_cores)
) -> typ.Tuple:                # (U, O, P, Q) = (U, G, G, G); the raw cores ARE the frame

The corewise frame of a T3: the Section 6.3 substitution (P, Q, O) -> G.

The counterpart of t3_orthogonal_representations() – the two ways to make a frame from a point. Where the orthogonal representation builds an orthonormal frame with a gauge, this one just re-labels the cores, which is what makes the corewise geometry the over-parametrized Euclidean one (no gauge, additive retraction). Trivial to write and easy to write in the wrong slot order, so it is named here rather than open-coded.

Parameters:

x_cores (t3toolbox.backend.common.typ.Tuple)

Return type:

t3toolbox.backend.common.typ.Tuple