A qubit prepared at polar angle θ from |0⟩ is |ψ⟩ = cos(θ/2)|0⟩ + sin(θ/2)|1⟩. On the 2D great circle drawn on the left of the canvas, the state vector sits at angle θ measured from the top (|0⟩) pole. The Born rule fixes the true probability of measuring |1⟩:
P(1) = sin²(θ/2)
P(0) = cos²(θ/2)
A single measurement gives one random bit — it never reveals P(1) directly. Each "shot" is drawn here as a ball that falls from the state vector's tip into one of two collection bins. Averaging N independent shots gives the maximum-likelihood estimator and its standard error:
p̂(1) = (# outcomes "1") / N
SE = sqrt( p̂(1)·(1 − p̂(1)) / N ) ← shrinks as 1/√N
A noisy readout stage flips the true outcome with probability ε before it is reported, so the data actually converges on the shifted value:
P_observed(1) = P(1)·(1 − ε) + P(0)·ε
- θ slider — rotates the state vector on the Bloch great circle and sets the ideal probability the histogram should converge to.
- Readout error ε — models real hardware measurement infidelity; watch the yellow convergence curve settle on the shifted (not the ideal) value once ε > 0.
- Shots per run — batch size submitted to the simulated queue each time you click Submit; more shots buys a tighter SE at proportional cost, exactly as a real QaaS shot bill scales.
This is the same statistics every gate-based cloud backend (IBM Quantum, Amazon Braket, Azure Quantum) exposes to users: a circuit's expectation value is never read directly, only estimated from a finite, paid-for number of repeated shots.