Error Propagation
Errors move when gates act
A Pauli error sitting on a qubit does not stay put once a gate is applied. Because Pauli operators do not generally commute with Clifford gates, pushing an error through a gate transforms it. The central worry for fault tolerance is the two-qubit gate: a single error on one qubit can become an error on two qubits after a CNOT. Understanding exactly how errors propagate is what lets us design gadgets that keep the spread under control.
The CNOT conjugation rules
Let qubit be the control and the target of a CNOT, written . The CNOT is a Clifford gate, so it maps Paulis to Paulis under conjugation. The four generating rules are
Read them as physics: an (bit-flip) on the control copies forward onto the target, while an on the target stays put. A (phase) error does the opposite — it stays on the control but copies backward from target to control. This control/target asymmetry, with bit-flips flowing one way and phases the other, is the rule every fault-tolerant construction is built around.
Why this is the central danger
The first rule, , is the threatening one. A single physical fault before a CNOT becomes a weight-two error afterward. Chain several CNOTs that share a qubit and one fault can fan out across an entire code block, producing an error the code cannot correct. This is precisely why transversal implementations matter: if logical gates couple the -th qubit of one block only to the -th qubit of another, a single fault can land at most one error per block, and the code still cleans it up.
Verifying the rule on a state
The conjugation identity has a direct, checkable consequence. Start in (a eigenstate of both 's), inject an error on the control, then apply the CNOT. The on the control turns into ; the CNOT then flips the target because the control is , giving . So the single-qubit error has visibly become a error: both qubits are flipped. The final state is exactly , amplitude on basis index .
Try it
Build the propagation circuit on two qubits (control , target ): inject the error on the
control, then apply cx(0, 1). Return the circuit. The grader checks the full statevector, which
must be — the fingerprint of the error having copied forward onto the target.
Sign in on the full site to ask questions and join the discussion.