tv_entries_derivatives_transpose ================================ .. py:function:: t3toolbox.backend.sampling_derivatives.tv_entries_derivatives_transpose(c, index, pp, frame, order, sum_over_probes = False) .. code-block:: python def tv_entries_derivatives_transpose( c: NDArray, # residual jet (scalar), shape=(order+1)+W+K+C index: NDArray, # int, shape=(d,)+W -- the grid points pp: typ.Sequence[NDArray], # perturbation vectors P, len=d, elm_shape=W+(Ni,) frame: typ.Tuple[ typ.Sequence[NDArray], typ.Sequence[NDArray], typ.Sequence[NDArray], typ.Sequence[NDArray], ], # = T3Frame.data = (U, O, P, Q) order: int, # highest derivative order sum_over_probes: bool = False, # True: sum the sample stack W (the J^T r back-projection) ) -> typ.Tuple[ typ.Tuple[NDArray, ...], # dU_tildes typ.Tuple[NDArray, ...], # dG_tildes ]: # = T3Variations.data Transpose of :py:func:`tv_entries_derivatives`: scatter residual jets ``c`` at ``index`` into a variation gradient. Identical to :py:func:`tv_apply_derivatives_transpose` with the frame up-index jet from fiber slicing at ``index`` (order 0) + contracting ``P`` (order 1), and the ambient ``w_jet`` from the unit vectors ``e_{index}`` (order 0) + ``P`` (order 1) -- so the Tucker-variation gradient scatters onto the indexed rows. .. seealso:: :py:obj:`tv_entries_derivatives`, :py:obj:`tv_apply_derivatives_transpose`