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

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.