ut3_rank_adjustment_sweep ========================= .. py:function:: t3toolbox.backend.ut3_svd.ut3_rank_adjustment_sweep(data, direction = 'right_to_left') .. code-block:: python def ut3_rank_adjustment_sweep( data: UT3Data, direction: str = 'right_to_left', # 'right_to_left' | 'left_to_right' ) -> UT3Data: A single lossless directional sweep that drops structurally-redundant ranks -- the uniform analog of ragged ``rank_adjustment_sweep`` (the minimization step; :py:func:`ut3svd` does not minimize). ``'right_to_left'`` returns a **right-orthogonal** result; ``'left_to_right'`` a **left-orthogonal** one. It reaches the minimal ranks **only if the input is already orthogonal in the opposite direction** -- a :py:func:`ut3svd` result is left-orthogonal, so ``'right_to_left'`` minimizes it. (The precondition is required here: unlike ragged, the static masks shrink to the minimal ranks, so a wrong-direction call on a non-oppositely-orthogonal input is lossy. Compose both directions for a minimal result in a chosen gauge.)