tv_precompute_probe_frame_sweep_jets#

t3toolbox.backend.sampling_derivatives.tv_precompute_probe_frame_sweep_jets(frame, ww, pp, order)#
def tv_precompute_probe_frame_sweep_jets(
        frame:   typ.Tuple[
            typ.Sequence[NDArray], typ.Sequence[NDArray],
            typ.Sequence[NDArray], typ.Sequence[NDArray],
        ],                                      # = T3Frame.data = (U, O, P, Q)
        ww:     typ.Sequence[NDArray],          # probe vectors X,        len=d, elm_shape=W+(Ni,)
        pp:     typ.Sequence[NDArray],          # perturbation vectors P, len=d, elm_shape=W+(Ni,)
        order:  int,                            # highest derivative order
) -> typ.Tuple[
    typ.Sequence[NDArray],  # xi_jets.  len=d, elm_shape=(2,)+W+C+(nUi,)
    typ.Sequence[NDArray],  # mu_jets.  len=d, elm_shape=(order+1,)+W+C+(rLi,)
    typ.Sequence[NDArray],  # nu_jets.  len=d, elm_shape=(order+1,)+W+C+(rR(i+1),)
    typ.Sequence[NDArray],  # eta_jets. len=d, elm_shape=(order+1,)+W+C+(nOi,)
]:                                              # full frame sweep -- (xi, mu, nu, eta)

The probe-derivative frame sweep (full): the jet-ified twin of t3toolbox.backend.probing.tv_precompute_probe_frame_sweep(). The probe leaves one mode free, so it needs all four frame edge-variable jets (xi, mu, nu, eta) (the right nu sweep + central eta combine). Reused across the forward / transpose of an inner solve.

Parameters:
  • 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]])

  • ww (t3toolbox.backend.common.typ.Sequence[NDArray])

  • pp (t3toolbox.backend.common.typ.Sequence[NDArray])

  • order (int)

Return type:

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]]