The qubit is driven by a piecewise-constant control field split into 8 segments, Ω(t) = Ωk for segment k. Together with an unknown detuning Δ, each segment rotates the Bloch vector about the axis (Ωk, 0, Δ) — drawn here on a rotatable flattened (orthographic) projection of the Bloch sphere rather than a full 3D scene:
H_k = (Ω_k/2) σx + (Δ/2) σz
angle_k = sqrt(Ω_k² + Δ²) · Δt
v → v·cosθ + (n̂×v)·sinθ + n̂(n̂·v)(1−cosθ) (Rodrigues formula, n̂ = axis/|axis|)
The goal is a robust π-pulse: start at |0⟩ (north pole) and end at |1⟩ (south pole, gold dot) despite two noise sources drawn fresh every cycle — a random detuning Δ (miscalibration) and small random dephasing kicks about the z-axis applied every sub-step (T2 decoherence, which can carry the state off the x-z plane into y — a genuine 3-axis effect, faithfully simulated here and shown on the disk via depth shading and the drag-rotatable viewing angle). Fidelity is F = (1 + v·target) / 2.
The optimizer is a simple stochastic hill-climber (close to SPSA / zeroth-order policy-gradient methods used for real quantum control): each episode it perturbs every Ωk by a small random amount, re-evaluates fidelity under fresh noise samples, and keeps the perturbation only if it scores higher — exactly the "adaptive control learning optimal parameters in real time to compensate for noise" that AI brings to quantum hardware calibration.
- Noise level — how strong the detuning error and dephasing kicks are each cycle; higher noise makes the flat starting pulse fail badly and gives the optimizer more to fix.
- Exploration step — how large a perturbation the optimizer tries each episode; too small trains slowly, too large trains erratically.
- Training speed — how many optimizer episodes run per visual cycle.
- Pause Training — freezes the pulse shape so you can watch it survive (or not) fresh noise draws without further learning.
- Drag the disk — rotate the viewing angle of the flattened Bloch projection, exactly like orbiting a camera around the sphere.