ufv_weights_from_ut3_weights#

t3toolbox.backend.ufv_operations.ufv_weights_from_ut3_weights(weights)#
def ufv_weights_from_ut3_weights(
        weights: typ.Tuple[NDArray, NDArray, typ.Tuple[NDArray, NDArray]],  # UT3Weights .data
) -> UT3FrameWeightsData:  # (up, down, left, right, masks) -- a tangent metric

Build uniform frame weights (a tangent metric) from uniform base-point edge weights – the twin of fv_weights_from_t3_weights, and the same slicing, applied to supercores and masks:

up = down = tucker; left = tt[:-1], right = tt[1:]. The TT slicing encodes the H_i bond convention (H_i’s left bond is TT bond i, its right bond is bond i+1), which turns the d+1 bond supercore into the two d-length families – non-obvious, hence a named function.

The result pairs with a minimal-rank tangent (where the complement rank nD equals the Tucker rank nU, as for ut3svd output). A non-minimal tangent has nD < nU and would mismatch the down family at use – caught by ufv_weights_consistent rather than silently absorbed.

Parameters:

weights (t3toolbox.backend.common.typ.Tuple[NDArray, NDArray, t3toolbox.backend.common.typ.Tuple[NDArray, NDArray]])

Return type:

UT3FrameWeightsData