UT3Tangent.weighted_norm#

t3toolbox.uniform_manifold.UT3Tangent.weighted_norm(weights)#
def weighted_norm(self, weights: 'ubv.UT3FrameWeights') -> NDArray:  # shape = stack_shape (K+C)

The weighted (Grasedyck-Kramer) coordinate norm: absorb the metric into the variation supercores and take the coordinate norm. The frame stays orthonormal (untouched), so this is O(ranks). Vectorized over the stack (returns shape K + C).

The inserted diagonal is squared by the norm, so weights = 1/sigma penalises by 1/sigma^2. As with corewise_norm() this is the coordinate metric (= HS on an orthonormal, gauged frame). weights is frame-like: its stack must equal the frame’s C (checked – check_ufw_pair()), and it broadcasts over K. Backend twin: utv_weighted_norm().

Parameters:

weights (UT3FrameWeights)

Return type:

NDArray