logbook
WP-E Progress / Logbook / 2026 04 13 R2 comb
Context. Sequel to 2026-04-13-S2-expansion-and-H1.md. R2 is the
instantaneous-pulse (δt → 0) reference per v0.3 §3.1 / §8 Q3. Implemented
as impulsive kicks with explicit inter-pulse spin free evolution for
duration T_m at detuning δ — the Monroe-like picture. Ran it. The
result is physically interesting but not the "small Δt correction"
the v0.3 decomposition implicitly assumed.
Verdict. R2 reveals a structural difference between two defensible interpretations of the protocol, not a small finite-δt correction. The v0.3 §3.1 decomposition Δt = R1 − R12 and cross = full − (R1 + R2 − R12) needs reinterpretation. WP-E's physics findings are unchanged; the decomposition framing is what needs an update (staged for v0.4).
Driver: run_R2_single and execute_R2 in
../numerics/run_slices.py. Output:
../numerics/R2_delta_alpha.h5.
Grid: 121 δ × 4 |α| × 2 engines (R2 at η = 0.397; R12 at η = 0.04).
Wall time: 0.5 s R2 + 0.4 s R12. Cheap.
Plot: ../numerics/plot_R2.py → ../plots/R2_vs_full.png.
Per the v0.3 spec, R2 is the δt → 0 limit of the full engine at fixed pulse area. Two interpretations are defensible; they give different results.
Interpretation A (engine-consistent): shrink δt while preserving the engine's convention that detuning is a pulse-only term. In the strict δt → 0 limit at fixed pulse area Ω · δt, the detuning term δ · δt → 0 and detuning drops out. R2 becomes flat in δ, |C|(δ) = constant. Not useful as a reference.
Interpretation B (Monroe-like): impulsive kicks with detuning acting on the spin via free evolution between pulses over duration T_m. Makes the δt → 0 kick a clean SU(2)⊗motion rotation, with all δ-dependence in the gap. This is the interpretation implied by dossier §1.1 ("pulses much shorter than both motional and spin dynamics — the ion is frozen during the pulse") and it is the one implemented.
The kick operator is
K = exp(−i · (π / (2N exp(−η²/2))) / 2 · (C ⊗ σ₋ + C† ⊗ σ₊))
and between pulses the motion rotates by 2π (identity at strobe) and the spin rotates by exp(−i (δ/2) σ_z T_m).
The R2 and R12 |C|(δ₀) spectra are periodic in δ with period ω_m. At each integer multiple δ = k · ω_m (for k = … −4, −3, … +4), the spin free-evolution phase over one gap is exp(−i · k · π), and over (N − 1) gaps accumulates to a product of phases that collapses back to the δ = 0 value. Hence |C|(k · ω_m) = |C|(0) for all integer k.
Between teeth, |C| falls off sharply: the HWHM of each tooth is ~0.1 MHz/(2π), matching the resolution 1/((N − 1) · T_m) = 1/(21 · 769 ns) = 62 kHz · (factor for oscillation of a cos interference) ≈ 0.1 MHz when evaluated at our 0.1 MHz grid step.
Explicit values at |α| = 0:
| δ/(2π) (MHz) | |C|_R2 | |C|_R12 |
|---|---|---|
| −5.2 (k = −4) | 0.9166 | 0.9992 |
| −3.9 (k = −3) | 0.9166 | 0.9992 |
| −2.6 (k = −2) | 0.9166 | 0.9992 |
| −1.3 (k = −1) | 0.9166 | 0.9992 |
| 0.0 (k = 0) | 0.9166 | 0.9992 |
| +1.3 (k = +1) | 0.9166 | 0.9992 |
| +2.6 (k = +2) | 0.9166 | 0.9992 |
| +3.9 (k = +3) | 0.9166 | 0.9992 |
| +5.2 (k = +4) | 0.9166 | 0.9992 |
| off-tooth (e.g. 0.1) | 0.229 | 0.232 |
All |α| values show the same comb. The α-independence theorem (matrix-
element-magnitude theorem, logbook 2026-04-13-S2-falsification.md §3)
applies at each tooth individually, because at δ = k · ω_m the sequence
reduces to an effective pulse train with identity between pulses.
The v0.3 §3.1 decomposition presumed
Δt = R1 − R12 (pure finite-time effect, η held at 0)
with R12 interpretable as "R1 with δt → 0". Under interpretation B (Monroe-like R2, R12), R12 has the comb; R1 has a smooth single peak of HWHM 0.9 MHz/(2π). The residual Δt = R1 − R12 is therefore not small — between teeth R1 has smooth finite amplitude and R12 has ~0, and at teeth R1 and R12 are comparable. The "residual" is dominated by a structural mismatch, not a correction.
The structural mismatch is: the full engine and R1 omit inter-pulse spin free evolution entirely; R2 and R12 include it. These are two different physical models, not two limits of the same model.
The full engine's convention matches the Hasse2024 experiment. The JSON legacy run's central-lobe HWHM of ~0.28 MHz (≈ Ω_eff) and single peak at δ = 0 are what the engine reproduces and what is measured. If the experiment were described by interpretation B, one would see a comb at multiples of ω_m in the Rabi spectrum, which is not reported. The engine's interpretation is correct for this protocol.
Why: in the Hasse protocol, between analysis pulses the laser is OFF and the ion is not in any rotating frame — the spin simply sits in its natural basis with no dynamics driven by the (absent) laser detuning. Detuning is a pulse-only quantity, not a continuous interaction- picture Hamiltonian. The engine captures this correctly.
Given that R2 (interpretation B) models different physics from the full engine, the Δη / Δt / cross decomposition as originally framed is not well-posed. A repair:
Repair 1. Keep R1 as defined (η → 0, engine convention). Drop R2 from the main decomposition; note the comb result as a theoretical sideline for the resolved-sideband limit, pointing toward WP-C and to potential future comparison with alternative protocols.
Repair 2. Redefine R2 as "full engine with δt reduced to ε, at fixed pulse area, otherwise identical". In this case R2 ≡ full in the engine convention (interpretation A gives flat |C|, trivial). The only finite-δt effect within the engine is the Debye-Waller Ω_eff ≠ Ω and the small carrier-resonance shift noted in S1 (peak at det_rel ≈ −0.154). Both are already present in R1 at η = 0.04. So Δt within the engine is negligibly small — the residual is essentially zero.
Net for v0.4. The interesting residual is Δη = full − R1 (the η- dressing of the contrast and phase we've already measured across S1 and S2). The "Δt" and "cross" pieces of the v0.3 decomposition do no productive work. v0.4 should drop the three-baseline decomposition in favour of a single η-decomposition.
From 2026-04-13-S2-expansion-and-H1.md §4.3, I predicted: "R2 should
put the |C|(δ₀) peak at δ_0 = 0 exactly (no −0.20 MHz/(2π) bias)". This
is now answered — but not quite as predicted:
The bias in the full engine's peak at −0.20 MHz/(2π) is within the 0.1 MHz/(2π) grid step (the S1 grid has steps of 0.1 MHz/(2π); the closest grid point to the true peak is −0.154 in det_rel units, which rounds to −0.20 MHz). It may not even be real — plausibly the true peak is at δ = 0 to machine precision and we are seeing grid aliasing. A finer grid around δ = 0 would settle this.
Action (not gating): run a carrier-zoom S1 at high resolution (say, step 0.01 MHz/(2π)) in |δ| < 0.5 MHz to localise the full engine peak. Deferred — minor.
In addition to prior-entry stagings:
Engine ../../scripts/stroboscopic_sweep.py unchanged. README.md unchanged (Guardian cadence).
All substantive WP-E physics is now delivered. The remaining work is editorial:
S2_combined.png is the single
headline plot. S1_carrier_summary.png, H1_lock_tolerance.png,
and R2_vs_full.png are the supporting cast. S1 phase/residuals
maps are diagnostic.Guardian cadence: still no README edit. v0.4 is the next (and probably only remaining) major deliverable.