utv_apply_derivatives_transpose#

t3toolbox.backend.utv_sampling.utv_apply_derivatives_transpose(c, ww, pp, frame_data, order, sum_over_probes=False)#
def utv_apply_derivatives_transpose(
        c,                # residual jet (scalar), shape=(order+1,)+W+K+C
        ww,               # apply vectors,  len=d, ith elm_shape=W+(Ni,)
        pp,               # perturbation P, len=d, ith elm_shape=W+(Ni,)
        frame_data,       # UT3Frame .data (orthogonal frame), stack=C
        order,            # highest derivative order
        sum_over_probes=False,
):  # -> UT3Variations .data: (dU_tilde, dG_tilde, shape, masks); stack K_new + C

Apply the transpose 𝒥ᵀ of the all-modes apply-derivative (the bare adjoint-state method).