tv_entries_jacobian_from_sweep#

t3toolbox.backend.entries.tv_entries_jacobian_from_sweep(variation, index, frame, frame_sweep)#
def tv_entries_jacobian_from_sweep(
        variation:  typ.Tuple[
            typ.Sequence[NDArray],          # var_tucker_cores. len=d, elm_shape=K+C+(nOi,Ni)
            typ.Sequence[NDArray],          # var_tt_cores.     len=d, elm_shape=K+C+(rLi,nUi,rRi)
        ],
        index:      NDArray,                # int, shape=(d,)+W -- for the variation's fiber-sliced dxis
        frame:       typ.Tuple[
            typ.Sequence[NDArray], typ.Sequence[NDArray],
            typ.Sequence[NDArray], typ.Sequence[NDArray],
        ],                                  # = T3Frame.data = (U, O, P, Q); uses Q (right) and O (down)
        frame_sweep: typ.Tuple[
            typ.Sequence[NDArray], typ.Sequence[NDArray],
        ],                                  # = tv_precompute_entries_frame_sweep(frame, index)  (lean)
) -> NDArray:                               # entries of the dense tangent at ``index``; shape = W + K + C

Forward all-modes entries of a tangent vector reusing a precomputed frame sweep – the bare 𝒥 (entries) with the frame edge variables injected. Equivalent to tv_entries(), but takes the lean (xis, mus) from frame_sweep; only the fiber-sliced dxis is computed here. No gauge projector Π.

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

  • index (NDArray)

  • frame (t3toolbox.backend.common.typ.Tuple[t3toolbox.backend.common.typ.Sequence[NDArray], t3toolbox.backend.common.typ.Sequence[NDArray], t3toolbox.backend.common.typ.Sequence[NDArray], t3toolbox.backend.common.typ.Sequence[NDArray]])

  • frame_sweep (t3toolbox.backend.common.typ.Tuple[t3toolbox.backend.common.typ.Sequence[NDArray], t3toolbox.backend.common.typ.Sequence[NDArray]])

Return type:

NDArray