t3_apply_corewise_derivatives_transpose#

t3toolbox.backend.sampling_derivatives.t3_apply_corewise_derivatives_transpose(c, ww, pp, core_pair, order, sum_over_probes=False)#
def t3_apply_corewise_derivatives_transpose(
        c:          NDArray,                # residual jet (scalar), shape=(order+1)+W+C
        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,)
        core_pair:  typ.Tuple[typ.Sequence[NDArray], typ.Sequence[NDArray]],  # = TuckerTensorTrain.data
        order:      int,                    # highest derivative order
        sum_over_probes: bool = False,
) -> typ.Tuple[typ.Tuple[NDArray, ...], typ.Tuple[NDArray, ...]]:  # (tucker_grads, tt_grads)

Corewise transpose of t3_apply_derivatives(): gradient of the apply-derivative jets w.r.t. the frame cores (Section 6.3 substitution into tv_apply_derivatives_transpose()).

Parameters:
  • c (NDArray)

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

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

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

  • order (int)

  • sum_over_probes (bool)

Return type:

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