UT3Tangent.weighted_norm ======================== .. py:method:: t3toolbox.uniform_manifold.UT3Tangent.weighted_norm(weights) .. code-block:: python 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 :py:meth:`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 -- :py:func:`~t3toolbox.uniform_frame_variations_format.check_ufw_pair`), and it broadcasts over ``K``. Backend twin: :py:func:`~t3toolbox.backend.utv_operations.utv_weighted_norm`.