utv_sampling#

Uniform tangent sampling (UT3Tangent probe / apply / entries), uniform-fix 3b-6b.

The uniform mirror of the ragged T3Tangent sampling frontend, sharing the polymorphic {probing.tv_probe, apply.tv_apply, entries.tv_entries}. The boundary work is the same as the plain layer’s ut3_sampling (the precedent), lifted to the frame-variations pair:

  1. mask-once the frame (4) and variation (2) supercores – so the padded rank slots are zero and the core algorithm runs mask-free (the padded bonds contract to zero);

  2. pack the probe vectors into one supercore-shaped tensor (apply/probe; entries slices fibers, so its integer index needs no packing);

  3. call the polymorphic backend (is_uniform is inferred from the masked supercores being bare ndarrays);

  4. unpack the probe output back to ragged-width vectors (apply/entries return a scalar – nothing to unpack).

These are the bare Jacobian 𝒥 (no gauge projector Π); the transpose 𝒥ᵀ lands in 3b-6c.

Functions#

utv_probe(ww, frame_data, variations_data)

Probe a uniform tangent vector (the bare 𝒥): mask-once, share probing.tv_probe.

utv_apply(ww, frame_data, variations_data)

Apply a uniform tangent vector in all modes (the bare 𝒥; a scalar per stack element).

utv_entries(index, frame_data, variations_data)

Entries of a uniform tangent vector at index (the bare 𝒥; fiber slicing, no packing -- the

utv_precompute_apply_frame_sweep(frame_data, ww)

The all-modes apply frame sweep for the uniform tangent Jacobian: mask-once the frame, pack ww

utv_precompute_probe_frame_sweep(frame_data, ww)

The probe frame sweep (full (xis, mus, nus, etas)): mask-once, pack ww, share

utv_precompute_entries_frame_sweep(frame_data, index)

The all-modes entries frame sweep (lean (xis, mus)): mask-once, keep index (fiber slicing

utv_apply_jacobian_from_sweep(variations_data, frame_sweep)

Forward all-modes apply of a uniform tangent reusing the frame sweep (the bare 𝒥): mask-once the

utv_probe_jacobian_from_sweep(variations_data, frame_sweep)

Forward probe of a uniform tangent reusing the frame sweep (the bare 𝒥): mask-once the variation,

utv_entries_jacobian_from_sweep(variations_data, ...)

Forward all-modes entries of a uniform tangent reusing the frame sweep (the bare 𝒥): mask-once the

utv_apply_transpose_from_sweep(residual, frame_sweep)

Transpose 𝒥ᵀ of the all-modes apply reusing the frame sweep (the bare adjoint; no gauge Π --

utv_probe_transpose_from_sweep(ztildes, frame_sweep[, ...])

Transpose 𝒥ᵀ of the probe reusing the frame sweep (the bare adjoint): pack the residuals to N,

utv_entries_transpose_from_sweep(residual, frame_sweep)

Transpose 𝒥ᵀ of the all-modes entries reusing the frame sweep (scatter residual at the sweep's

utv_precompute_apply_frame_sweep_jets(frame_data, ww, ...)

The apply-derivative frame sweep: mask-once the frame, pack ww and pp to N, share

utv_precompute_probe_frame_sweep_jets(frame_data, ww, ...)

The probe-derivative frame sweep (full jets): mask-once, pack ww/pp, share

utv_precompute_entries_frame_sweep_jets(frame_data, ...)

The entries-derivative frame sweep: mask-once, pack only pp (fiber slicing needs no index

utv_apply_jacobian_derivatives_from_sweep(...)

Forward apply-derivatives of a uniform tangent reusing the jet sweep (the bare 𝒥): mask-once the

utv_probe_jacobian_derivatives_from_sweep(...)

Forward probe-derivatives of a uniform tangent reusing the jet sweep (the bare 𝒥): mask-once the

utv_entries_jacobian_derivatives_from_sweep(...)

Forward entries-derivatives of a uniform tangent reusing the jet sweep (the bare 𝒥): mask-once the

utv_apply_transpose_derivatives_from_sweep(residual, ...)

Transpose 𝒥ᵀ of the apply-derivatives reusing the jet sweep (the bare adjoint; sums the order

utv_probe_transpose_derivatives_from_sweep(ztildes, ...)

Transpose 𝒥ᵀ of the probe-derivatives reusing the jet sweep (the bare adjoint): pack the residual

utv_entries_transpose_derivatives_from_sweep(residual, ...)

Transpose 𝒥ᵀ of the entries-derivatives reusing the jet sweep (scatter at the sweep's index).

utv_probe_derivatives(ww, pp, frame_data, ...)

Symmetric probe derivatives of a uniform tangent vector (the bare 𝒥): mask-once, share

utv_apply_derivatives(ww, pp, frame_data, ...)

Symmetric all-modes apply derivatives of a uniform tangent vector (the bare 𝒥; a scalar jet per

utv_entries_derivatives(index, pp, frame_data, ...)

Symmetric entry derivatives of a uniform tangent vector at index (the bare 𝒥; fiber slicing,

utv_probe_transpose(ztildes, ww, frame_data[, ...])

Apply the transpose 𝒥ᵀ of the probe map to residuals (the bare adjoint; no gauge projector).

utv_apply_transpose(c, ww, frame_data[, sum_over_probes])

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

utv_entries_transpose(c, index, frame_data[, ...])

Apply the transpose 𝒥ᵀ of the all-modes entries (scatter c at index). Like

utv_probe_derivatives_transpose(ztildes, ww, pp, ...)

Apply the transpose 𝒥ᵀ of the probe-derivative map to residual jets (the bare adjoint). Mask-once,

utv_apply_derivatives_transpose(c, ww, pp, frame_data, ...)

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

utv_entries_derivatives_transpose(c, index, pp, ...[, ...])

Apply the transpose 𝒥ᵀ of the all-modes entry-derivative (scatter c at index; pp packed,