logbook
WP-E Progress / Logbook / 2026 04 14 flag1 synced phase
Context. The user's statement "Phase is kept synced for all pulses
of a train" (2026-04-14) closes Flag 1 from
2026-04-13-flag-reruns.md §3. Under the
synced-phase convention, the laser/AC phase reference is maintained
across the full pulse train, and the spin picks up
exp(−i·(δ/2)·σ_z·T_gap) per inter-pulse gap.
Consequence. The engine (v0.9.1 at t_sep_factor = 1.0) omits
this inter-pulse free evolution. A driver-level fix is straightforward;
the resulting lineshape is not the engine's broad single peak but the
comb at δ = k·ω_m that R2 (Monroe impulsive) already produced.
Verdict. The comb is the physically correct |C|(δ₀) lineshape under
the synced-phase convention. The engine's reported Rabi lineshape
(HWHM ≈ 200 kHz/(2π), centred at δ₀ = 0) is a modeling artefact
specific to its t_sep_factor = 1.0 path. All results at δ₀ = 0 stand
(see §4); all detuning-scan results from S1, S2, H1, S1-carrier-zoom,
R2-coarse need reinterpretation.
Added a U_gap inter-pulse propagator in
../numerics/run_synced_phase.py:
U_gap[n, n] = exp(−i·ω_m·n·T_gap) · exp(+i·δ/2·T_gap)
U_gap[nmax+n, ...] = exp(−i·ω_m·n·T_gap) · exp(−i·δ/2·T_gap)
with T_gap = T_m − δt. Combined with the engine's finite-δt pulse
(intra-pulse motion ω_m·a†a on), the total per-cycle motional phase is
ω_m·δt + ω_m·(T_m − δt) = 2π, so the strobe condition closes exactly.
The spin detuning phase accumulates only during the gap; during the
pulse it's already in the engine's Hamiltonian.
First attempt (iteration visible in git history of this file): missed the motional factor, which broke the strobe closure and produced an anomalous |C|(δ=0) = 0.9996 at α=0 (clean π/2 rotation; no entanglement because the motional state's phase didn't close, so successive pulses didn't coherently accumulate). Fixed by adding the Fock-indexed motional phase. After fix, synced-phase matches the engine at δ = 0 to numerical precision (0.92348 vs 0.92348 at α = 0; 0.92379 vs 0.92379 at α = 3) — confirming δ = 0 observables are convention-invariant.
Sampled at selected detunings (±500 kHz around carrier):
| δ (kHz) | |C|_engine | |C|_synced | |C|_R2 |
|---|---|---|---|
| 0 | 0.923 | 0.923 | 0.917 |
| ±100 | 0.912 | 0.184 | 0.184 |
| ±200 | 0.624 | 0.104 | 0.104 |
| ±300 | 0.100 | 0.018 | 0.018 |
| ±400 | 0.266 | 0.042 | 0.042 |
| ±500 | 0.322 | 0.055 | 0.055 |
The engine shows a broad lineshape (HWHM ≈ 200 kHz). Synced-phase and R2 show a sharp central tooth (HWHM ≈ 30 kHz) with between-tooth |C| at the 1–10% level. Synced-phase overlaps R2 to within ~0.5% across the entire grid — the two conventions are essentially the same physics at δ = 0 of a tooth, differing only at the 0.6% level in peak height (0.923 vs 0.917) due to finite-δt vs impulsive pulses.
Identical pattern at α = 3. The |α|-dependence of the lineshape (if any) is small — much smaller than the engine-vs-synced difference.
Plot: ../plots/flag1_synced_phase_lineshape.png.
The engine's pulse Hamiltonian contains (δ/2)·σ_z, so during each
pulse the spin also picks up δ-dependent phase — for total duration
N·δt = 18.85 μs (at Hasse-matched δt). The resulting Rabi linewidth is
~Ω_eff ≈ 280 kHz, consistent with what we observed. This is a genuine
dynamics of the engine's protocol — just not the physically intended
one. The engine models a continuous pulse of duration N·δt = 18.85 μs
with the laser on throughout, rather than 30 stroboscopic flashes
totalling 17 μs of train with laser off for most of it.
Under the synced-phase convention, the spin feels δ:
- During pulses (total N·δt = 18.85 μs) via the pulse Hamiltonian.
- Between pulses (total (N − 1)·T_gap = 175.2 μs) via free evolution.
The between-pulse time dominates by factor ~10. The resulting
lineshape is the stroboscopic Fourier response, which has support at
δ = k·ω_m (aliasing) with tooth HWHM ≈ 1/((N−1)·T_m) ≈ 62 kHz —
matching what we see (30–40 kHz, close to the sinc-amplitude HWHM of a
rectangular train).
arg C(0, |α|, φ_α) = 90° + 2η|α|·(γ_c cos + γ_s sin) + O(η³).
Unchanged under synced-phase at δ = 0.The WP's position-phase channel framing strengthens:
arg C = 90° + 2η|α|·cos φ_α holds at carrier regardless of convention.|C|(δ₀) lineshape is the synced-phase comb, not the engine's broad
peak. This simplifies the WP's story — |C| no longer has a rich
Rabi-like δ₀-dependence to report; it has sharp teeth at δ = k·ω_m,
each with the same magnitude, and between-tooth the signal is ~0.(|α|, φ_α) → (Re C, Im C) at δ = 0 is
unchanged by convention.Recommendation for v0.4: Report the S1/S2 at δ = 0 slices as the physical results (position channel, φ_α spread). Keep the full (δ, |α|) heatmaps as engine-convention diagnostic plots with an explicit "engine convention, not synced-phase physics" caveat. Reference this entry and the Monroe/synced-phase comb as the correct resolved-sideband spectrum.
If Hasse2024 reports a Rabi scan with a broad peak (HWHM ~ Ω_eff), that is inconsistent with the synced-phase assumption. Two possibilities:
This is the experimental question Flag 1 was meant to answer. The user's confirmation of "phase kept synced" resolves it in principle; resolving the apparent tension with the engine's lineshape (if any) needs experimental data. For v0.4: report the synced-phase prediction and flag this as an open experimental comparison.
Engine and all prior numerics unchanged (Guardian cadence).
Flag 1 status after this entry:
inter_pulse_free_evolution=True toggle to the
engine itself (opt-in, backward-compatible), rather than driver-
level patch — but this is an engine change and should be staged
separately.Subsuming Flag 1 into v0.4 as "user-confirmed synced-phase convention; R2 lineshape is canonical; engine convention is a modeling simplification documented here".
Next step: Council checkpoint on whether v0.4 drafting should begin now, or whether additional slices under synced-phase (S2 at α ∈ {1, 5} reconfirmation? S3 un-deferred?) should run first. These are cheap now that the propagator is validated.