fv_tied_ambient_directions ========================== .. py:function:: t3toolbox.backend.sharing.fv_tied_ambient_directions(variations_data, shared_data, rcond = None) .. code-block:: python def fv_tied_ambient_directions( variations_data: typ.Tuple[ typ.Sequence[NDArray], # tucker_variations. len=d, elm_shape=(K+C)+(nDi, Ni) typ.Sequence[NDArray], # tt_variations. len=d, elm_shape=(K+C)+(rLi, nUi, rRi) ], shared_data: 'SharedFrameData', # the frame's companion (fv_shared_frame_data) rcond: float = None, # relative clip on the group spectrum; None -> dtype eps * max dim ) -> typ.Tuple[NDArray, ...]: # per NONTRIVIAL group: Udot, elm_shape=(K+C)+(n_g, N) Recover each group's common gauged ambient direction ``Udot`` from (tied) Tucker variation coordinates -- the clipped least-squares solve of :py:func:`fv_share_tucker_variations`, returning ``Udot`` itself instead of the redistributed coordinates. Exact on exactly-tied input (``V_i = S_i^T Udot``); on untied input it returns the least-squares fit (the tied projection's ambient direction). The shared retraction uses this to build the TIED doubled-rank embedding (``[U_g | Udot]`` per group, with the center cores as the paired blocks).