tv_probe_jacobian_from_sweep#
- t3toolbox.backend.probing.tv_probe_jacobian_from_sweep(variation, ww, frame, frame_sweep)#
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 totv_probe(), but takes(xis, mus, nus, etas)fromframe_sweepinstead of recomputing them; only the perturbation sweep (dxis/sigmas/taus/detas) is computed here. Apply and probe share the frame sweep (tv_precompute_probe_frame_sweep()). No gauge projectorΠ.- Parameters:
variation (t3toolbox.backend.common.typ.Tuple[t3toolbox.backend.common.typ.Sequence[NDArray], t3toolbox.backend.common.typ.Sequence[NDArray]])
ww (t3toolbox.backend.common.typ.Sequence[NDArray])
frame (t3toolbox.backend.common.typ.Tuple[t3toolbox.backend.common.typ.Sequence[NDArray], t3toolbox.backend.common.typ.Sequence[NDArray], t3toolbox.backend.common.typ.Sequence[NDArray], t3toolbox.backend.common.typ.Sequence[NDArray]])
frame_sweep (t3toolbox.backend.common.typ.Tuple[t3toolbox.backend.common.typ.Sequence[NDArray], t3toolbox.backend.common.typ.Sequence[NDArray], t3toolbox.backend.common.typ.Sequence[NDArray], t3toolbox.backend.common.typ.Sequence[NDArray]])
- Return type:
t3toolbox.backend.common.typ.Sequence[NDArray]