Computing Library › Quantum Error Correction
Quantum Error Correction

Subsystem Codes and Gauge Qubits

Subsystem codes split the Hilbert space into logical, gauge, and error factors, trading some encoding rate for simpler, lower-weight measurements.

Three kinds of degrees of freedom

An ordinary stabilizer code divides its Hilbert space into a code space and an error space. A subsystem code adds a third factor: gauge qubits. The protected logical qubits live in one tensor factor, the gauge qubits in another, and the gauge qubits carry no information. Any operation that acts only on the gauge factor is harmless, so the code has extra freedom.

The gauge group

Kronos motion — error correction

Subsystem codes are defined by a gauge group G, which need not be abelian. The stabilizer group S is the center of G (up to phases): the elements of G that commute with all of G. Logical operators are those that commute with S but lie outside G. Because gauge operators can be measured directly and are often low weight, syndrome extraction can use small, local measurements even when the stabilizers themselves are high weight.

The canonical examples are the Bacon-Shor code, whose gauge operators are weight-two, and subsystem surface codes that reduce the surface code's weight-four checks to weight-three. Gauge freedom can also be used to convert between codes on the fly through gauge fixing.

Subsystem codes matter in practice because measurement weight, not just qubit count, limits real hardware. A code whose checks are all weight two or three can be measured with fewer entangling gates per round, which lowers the error injected during syndrome extraction.