ufv_reciprocal_weights ====================== .. py:function:: t3toolbox.backend.ufv_operations.ufv_reciprocal_weights(weights) .. code-block:: python def ufv_reciprocal_weights(weights: UT3FrameWeightsData) -> UT3FrameWeightsData: Elementwise ``1/w`` on the real slots of all four families (masks unchanged); the padding stays a canonical, **finite** zero rather than becoming ``inf``. See ``ut3_reciprocal_weights`` -- this is the Grasedyck-Kramer path (``from_ut3weights(from_ut3svd(x)).reciprocal()``), so the guard is on the headline route. Real-slot zeros are deliberately NOT guarded.