Error correction had a problem: you can’t just look at a qubit to check it — looking destroys it. The stabilizer formalism is the workaround. Instead of asking “what state is this?”, you ask a few careful yes/no parity questions that reveal whether an error happened without revealing the data. It is the language every real quantum code is written in.
A codeword is pinned in place by a handful of guardian operators — the stabilizers. As long as nothing has touched the qubits, every guardian reports +1: “all is well, state unchanged.” The instant an error sneaks in, it anti-commutes with some guardians, and those flip to −1. Crucially, the answer only tells you an error occurred and roughly where — never the actual values of your qubits. So you learn enough to fix the damage while the protected information stays sealed.
Picture a row of locked safes wired with tamper seals. You’re not allowed to open them — opening spoils the contents. But each seal spans two neighbouring safes and simply reports “intact” or “broken.” If safe 2 gets jostled, the seals on either side of it break while the rest stay intact. From the pattern of broken seals you deduce which safe was disturbed — without ever seeing what’s inside. The seals are stabilizers; their broken/intact readout is the syndrome.
Here is the 3-qubit code from QI 10, now in stabilizer language. Click a qubit to inject an X (bit-flip) error. Two stabilizers watch the parities: S₁ = Z₁Z₂ and S₂ = Z₂Z₃. Watch their ±1 readouts change, and see the decoder name the culprit — without ever measuring the stored bit.
Pick a set of commuting Pauli strings — the stabilizer group S. The code is exactly the states fixed by every one of them:
The whole trick is the commute / anti-commute rule. Two Pauli letters on the same qubit either agree or clash: X and Z anti-commute (XZ = −ZX), while anything commutes with I or with itself. A stabilizer S and an error E:
So measuring the stabilizers reads off, for each one, whether the error commuted (+1) or clashed (−1). That ±1 pattern — the syndrome — is computed entirely from how errors meet stabilizers, never from the data amplitudes. The information rides safely inside the +1 eigenspace the whole time.
“Measuring the stabilizers tells me the qubit’s value.” It does not — that’s the whole point. A stabilizer measurement returns only a parity (±1) shared across qubits; the stored amplitudes never leak out, so the superposition survives.
“Any set of Pauli strings can be stabilizers.” They must all commute with each other. If two stabilizers clashed, you couldn’t know both at once — measuring one would scramble the other.
“The stabilizer formalism describes every quantum state.” No — only “stabilizer states” (those built from Clifford gates: H, S, CNOT). That restriction is exactly why they’re efficient to track — and why a non-Clifford gate (the T gate, chapter 15) is needed for full power.