compute_sigma_jets#

t3toolbox.backend.sampling_derivatives.compute_sigma_jets(var_tt_cores, right_tt_cores, down_tt_cores, xi_jets, dxi_jets, mu_jets, trs)#
def compute_sigma_jets(
        var_tt_cores:   typ.Sequence[NDArray],  # dG. len=d, elm_shape=K+C+(rLi,nUi,rR(i+1))
        right_tt_cores: typ.Sequence[NDArray],  # Q.  len=d, elm_shape=C+(rRi,nUi,rR(i+1))
        down_tt_cores:  typ.Sequence[NDArray],  # O.  len=d, elm_shape=C+(rLi,nOi,rR(i+1))
        xi_jets:        typ.Sequence[NDArray],  # frame input jets, len=d, elm_shape=(2,)+W+C+(nUi,)
        dxi_jets:       typ.Sequence[NDArray],  # var  input jets, len=d, elm_shape=(2,)+W+K+C+(nOi,)
        mu_jets:        typ.Sequence[NDArray],  # frame left jets,  len=d, elm_shape=(order+1,)+W+C+(rLi,)
        trs:            NDArray,                # binomial tensor -- ONLY its shape (order) is read here
) -> typ.Tuple[NDArray, ...]:                   # sigma_jets. len=d, elm_shape=(order+1,)+W+K+C+(rR(i+1),)

Variation-leftward edge-variable jets sigma (standard banded-recurrence form).

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

The three-pushthrough tangent analog of compute_mu_jets(). Both input jets (xi, dxi) are affine (size 2), so each of the three pushthroughs (sigma Q(xi) + mu dG(xi) + mu O(dxi)) is a fused two-term recurrence rather than a dense trs contraction. The K tangent stack rides on the carried sigma / the variation core / the var input. Verified equal to compute_sigma_jets_trs() to 1e-12.

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

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

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

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

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

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

  • trs (NDArray)

Return type:

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