Detecting Errors as Syndromes
A single stabilizer measurement returns one bit. The full set of those bits, read together, is the syndrome — the code's report on what kind of error (if any) has occurred. The decoder never sees the data qubits; it sees only this stream of parity bits.
What a flipped check means
In the previous lesson a quiet check returned . Now suppose a bit-flip error strikes data qubit between rounds. The data parity becomes odd, so when the ancilla copies it,
and the syndrome bit reads . The check has fired. An error on either data qubit of a -type check flips that check; an error on a qubit shared by two -checks flips both. This is the whole detection mechanism: errors live on qubits, but they announce themselves on the checks that touch them.
Syndromes are differences in time
A subtle but essential point: a decoder does not act on the raw value of a check, but on whether it changed from the previous round. A check that reads in two consecutive rounds usually signals a stable measurement artefact, not a freshly arrived error. So the detection event a decoder actually consumes is
the XOR of a check's outcome in successive rounds. A new error produces a pair of detection events in spacetime — one when the error appears and one when it is later corrected or leaves — and matching those pairs is the job of the decoder we meet next.
Try it
Reproduce a single fired check. Inject a bit-flip on data qubit with c.x(0), then run the
extraction (c.cx(0, 2), c.cx(1, 2)) into ancilla qubit and measure it. The
data is now and the ancilla reports parity , so the only outcome is
— syndrome bit , the check has fired.
Compare with the quiet round of the previous lesson: there the bar sat at ; here it moves to , and the ancilla bit has flipped from to .
Sign in on the full site to ask questions and join the discussion.