fv_tied_ambient_directions#

t3toolbox.backend.sharing.fv_tied_ambient_directions(variations_data, shared_data, rcond=None)#
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 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).

Parameters:
  • variations_data (t3toolbox.backend.common.typ.Tuple[t3toolbox.backend.common.typ.Sequence[NDArray], t3toolbox.backend.common.typ.Sequence[NDArray]])

  • shared_data (SharedFrameData)

  • rcond (float)

Return type:

t3toolbox.backend.common.typ.Tuple[NDArray, …]