UT3FrameWeights.from_ut3weights =============================== .. py:method:: t3toolbox.uniform_frame_variations_format.UT3FrameWeights.from_ut3weights(weights) :classmethod: .. code-block:: python def from_ut3weights(cls, weights: 'ut3.UT3Weights') -> 'UT3FrameWeights': Build a tangent metric from uniform base-point edge weights (e.g. ``UT3Weights.from_ut3svd(x)``): ``up = down = tucker``, ``left = tt[:-1]``, ``right = tt[1:]``, on the supercores **and** the masks. The TT slicing follows the ``H_i`` bond convention (``H_i``'s left bond is TT bond ``i``, its right bond is bond ``i+1``) -- simple but convention-dependent, hence a named method. 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 is rejected by :py:meth:`is_consistent_with` rather than silently absorbed. The Grasedyck-Kramer metric is ``UT3FrameWeights.from_ut3weights(UT3Weights.from_ut3svd(x)).reciprocal()``.