probing#

The probe sampling type AND the shared sampling machinery it exemplifies.

Probing contracts a T3 with vectors in all but one mode, giving d vectors (T4S §6). This module holds the general machinery – the xi/mu/nu/eta helper chain, assemble_z, the tv probe + frame sweeps + transposes – which apply/entries specialize (probe ⊃ apply ⊃ entries; they import from here, never the reverse). Reference module for the signature style (docs/contributor/signature_style.md).

Functions#

t3_probe(ww, x)

Probe a Tucker tensor train.

compute_xi(up_tucker_cores, ww)

Compute upward edge variables associated with edges between Tucker cores and adjacent TT-cores.

compute_mu(left_tt_cores, xis)

Compute leftward edge variables associated with edges between adjacent TT-cores.

compute_nu(right_tt_cores, xis)

Compute rightward edge variables associated with edges between adjacent TT-cores.

compute_eta(down_tt_cores, mus, nus)

Compute downward edge variables associated with edges between Tucker cores and adjacent TT-cores.

assemble_z(tucker_cores, etas)

Assemble probes from downward edge variables.

compute_dxi(var_tucker_cores, ww)

Compute var-upward edge variables dxi.

compute_sigma(var_tt_cores, right_tt_cores, ...)

Compute var-leftward edge variables sigma.

compute_tau(var_tt_cores, left_tt_cores, ...)

Compute var-rightward edge variables tau.

compute_deta(var_tt_cores, left_tt_cores, ...)

Compute var-downward edge variables deta.

assemble_tangent_z(tucker_cores, var_tucker_cores, ...)

Assemble tangent vector probes from edge variables.

tv_probe_jacobian_from_sweep(variation, ww, frame, ...)

Forward probe of a tangent vector reusing a precomputed frame sweep -- the bare 𝒥 (probe) with

tv_probe(ww, variation, frame)

Probe a tangent vector. Applies the (single-sample) least-squares Jacobian J^(s).

tv_precompute_probe_frame_sweep(frame, ww)

The probe frame sweep (full): all four frame edge variables (xi, mu, nu, eta). The probe

compute_sigma_hat(right_tt_cores, xis, c)

Propagation-only adjoint reverse sweep via Q, seeded at the terminal bond by the residual

compute_deta_tilde(up_tucker_cores, ztildes)

Adjoint-var-upward edge variables deta_tilde.

compute_tau_tilde(deta_tildes, left_tt_cores, xis, mus)

Adjoint-var-rightward edge variables tau_tilde.

compute_sigma_tilde(deta_tildes, right_tt_cores, xis, nus)

Adjoint-var-leftward edge variables sigma_tilde.

compute_dxi_tilde(sigma_tildes, tau_tildes, ...)

Adjoint-var-downward edge variables dxi_tilde.

assemble_tucker_variations(ztildes, dxi_tildes, ww, etas)

Assemble Tucker core variations, delta_U_tilde.

assemble_tt_variations(sigma_tildes, tau_tildes, ...)

Assemble TT core variations, delta_G_tilde.

tv_probe_transpose_from_sweep(ztildes, ww, frame, ...)

Transpose of the probe reusing a precomputed frame sweep -- the bare 𝒥ᵀ (probe) with the frame

tv_probe_transpose(ztildes, ww, frame[, sum_over_probes])

Apply the transpose of the map from a tangent vector to its probes (apply (J^(s))^T to ztildes).

t3_probe_ambient_transpose(ztildes, ww[, sum_over_probes])

Ambient transpose of t3_probe(): back-project probe residuals into CP factors.

t3_probe_corewise_transpose(ztildes, ww, core_pair[, ...])

Corewise (non-manifold) transpose of t3_probe(): gradient of the probes w.r.t. the

dense_probe(vectors, T)

Probe a dense tensor.