Computing Library › Quantum Error Correction
Quantum Error Correction

Gauge Fixing in Subsystem Codes

Choosing definite values for gauge qubits converts a subsystem code into a stabilizer code and lets a processor switch between codes without moving data.

Fixing the gauge

In a subsystem code the gauge qubits carry no information, so their state is free. Gauge fixing means measuring a chosen set of gauge operators and treating their outcomes as new stabilizers. This promotes part of the gauge group into the stabilizer group, converting the subsystem code into a stabilizer code with a larger stabilizer and no remaining gauge freedom in that sector.

Switching between codes

Kronos motion — error correction

Because different choices of which gauge operators to fix yield different stabilizer codes on the same qubits, gauge fixing is a way to move between codes without physically relocating the encoded information. A processor can fix the gauge one way to get a code with a convenient transversal gate, apply that gate, then fix it another way to recover a code with a good decoder or better distance.

This idea is the engine behind several proposals for universal fault tolerance, including switching between two color codes to obtain a transversal T gate that neither code has alone. It also connects to code deformation, which is gauge fixing applied continuously across a lattice.

The catch is that gauge fixing can temporarily lower the distance during the transition, so the schedule of measurements must be designed so that no error occurring mid-switch escapes detection. Careful ordering keeps the effective distance high throughout the operation.