compute_deta_jets#

t3toolbox.backend.sampling_derivatives.compute_deta_jets(var_tt_cores, left_tt_cores, right_tt_cores, mu_jets, nu_jets, sigma_jets, tau_jets, trs)#
def compute_deta_jets(
        var_tt_cores:   typ.Sequence[NDArray],  # dG. len=d, elm_shape=K+C+(rLi,nUi,rR(i+1))
        left_tt_cores:  typ.Sequence[NDArray],  # P.  len=d, elm_shape=C+(rLi,nUi,rL(i+1))
        right_tt_cores: typ.Sequence[NDArray],  # Q.  len=d, elm_shape=C+(rRi,nUi,rR(i+1))
        mu_jets:        typ.Sequence[NDArray],  # len=d, elm_shape=(order+1,)+W+C+(rLi,)
        nu_jets:        typ.Sequence[NDArray],  # len=d, elm_shape=(order+1,)+W+C+(rR(i+1),)
        sigma_jets:     typ.Sequence[NDArray],  # len=d, elm_shape=(order+1,)+W+K+C+(rR(i+1),)
        tau_jets:       typ.Sequence[NDArray],  # len=d, elm_shape=(order+1,)+W+K+C+(rL(i+1),)
        trs:            NDArray,                # binomial tensor, shape=(order+1,order+1,order+1)
) -> typ.Tuple[NDArray, ...]:                   # deta_jets. len=d, elm_shape=(order+1,)+W+K+C+(nUi,)

Tangent combine at each free mode (standard order-scan form).

Dense reference: compute_deta_jets_trs() (equal to tolerance).

The three-term tangent analog of compute_eta_jets(): deta_i = sigma Q nu + mu dG nu + mu P tau, three FULL convolutions (mode i free). The dense uniform d-einsum forms the (order+1)*W*K*r^2 spatial product for every core at once; this scans the input order r (one order slice of jetL . core live at a time) and folds in all of the right jet + the binomial weights – peak W*K*r^2. The K tangent stack sits on a different operand in each term (sigma / dG / tau), so several of the grouped contractions need len_C (the W|C split is not pinned by their operands). Memory win needs the uniform path (real lax.map/lax.scan); see compute_eta_jets(). Verified equal to compute_deta_jets_trs() to 1e-12.

Parameters:
  • var_tt_cores (t3toolbox.backend.common.typ.Sequence[NDArray])

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

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

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

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

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

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

  • trs (NDArray)

Return type:

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