tv_probe_jacobian_from_sweep ============================ .. py:function:: t3toolbox.backend.probing.tv_probe_jacobian_from_sweep(variation, ww, frame, frame_sweep) .. code-block:: python def tv_probe_jacobian_from_sweep( variation: typ.Tuple[ typ.Sequence[NDArray], # var_tucker_cores. len=d, elm_shape=K+C+(nOi,Ni) typ.Sequence[NDArray], # var_tt_cores. len=d, elm_shape=K+C+(rLi,nUi,rRi) ], ww: typ.Sequence[NDArray], # probe vectors, len=d, elm_shape=W+(Ni,) -- for the variation's dxis frame: typ.Tuple[ typ.Sequence[NDArray], typ.Sequence[NDArray], typ.Sequence[NDArray], typ.Sequence[NDArray], ], # = T3Frame.data = (U, O, P, Q) frame_sweep: typ.Tuple[ typ.Sequence[NDArray], typ.Sequence[NDArray], typ.Sequence[NDArray], typ.Sequence[NDArray], ], # = tv_precompute_probe_frame_sweep(frame, ww) ) -> typ.Sequence[NDArray]: # probes, len=d, elm_shape=W+K+C+(Ni,) (one free mode each) Forward probe of a tangent vector reusing a precomputed frame sweep -- the bare ``𝒥`` (probe) with the frame edge variables injected. Equivalent to :py:func:`tv_probe`, but takes ``(xis, mus, nus, etas)`` from ``frame_sweep`` instead of recomputing them; only the perturbation sweep (``dxis``/``sigmas``/``taus``/``detas``) is computed here. Apply and probe **share** the frame sweep (:py:func:`tv_precompute_probe_frame_sweep`). No gauge projector ``Π``. .. seealso:: :py:obj:`tv_precompute_probe_frame_sweep`, :py:obj:`tv_probe`, :py:obj:`tv_probe_transpose_from_sweep`