Computing Library › Quantum Error Correction
Quantum Error Correction

Subsystem Codes

Subsystem codes ignore some encoded degrees of freedom as gauge qubits, simplifying syndrome extraction and enabling flexible fault-tolerant operations.

Gauge degrees of freedom

A subsystem code splits the code space into a logical subsystem and a gauge subsystem. Only the logical subsystem carries protected information; the gauge qubits are extra degrees of freedom whose state does not matter and can change freely. Formally, the stabilizer group is enlarged to a non-abelian gauge group, and errors that act only on the gauge qubits require no correction. This deliberate waste buys operational flexibility.

Why gauge freedom helps

Because gauge operators need not be preserved, the high-weight stabilizer checks of an ordinary code can often be broken into products of lower-weight gauge checks that are easier to measure. The famous example is the Bacon-Shor code, where the four-body stabilizers factor into two-body gauge checks. Measuring only two-qubit operators simplifies hardware and can make syndrome extraction more robust, since low-weight measurements spread fewer errors.

Gauge fixing and applications

Choosing to fix the gauge qubits into definite states, called gauge fixing, converts a subsystem code into an ordinary stabilizer code and can enable gates that would otherwise be forbidden. This is one route around the Eastin-Knill theorem: switching gauges lets different gates be transversal at different times, supplying a universal set without magic states in some constructions, such as the three-dimensional gauge color code.

Subsystem codes include the Bacon-Shor code and subsystem surface codes, and their flexibility in measurement weight and gate implementation makes them a valuable design tool. The trade-off is usually a lower distance or threshold for a given number of qubits, so they are chosen when the operational simplicity outweighs the loss in raw protection.