The Bacon-Shor code is a family of subsystem quantum error-correcting codes defined on a 2D grid of physical qubits. It encodes one logical qubit in physical qubits with distance , using only two-body gauge measurements (weight-2 XX and ZZ checks on neighboring pairs). The stabilizers are products of gauge operators and have weight , but syndrome extraction requires only weight-2 measurements — a major hardware simplification.

Figure

Description

The Bacon-Shor code exploits the subsystem code framework: the physical Hilbert space decomposes into a logical subsystem, a gauge subsystem, and a stabilizer-fixed subsystem. Only the logical subsystem encodes information; the gauge subsystem is “don’t care” degrees of freedom.

For the m²,1,m code on an grid:

  • X stabilizers: Products of along each pair of adjacent rows.
  • Z stabilizers: Products of along each pair of adjacent columns.
  • Gauge operators: Individual (horizontal pairs) and (vertical pairs).

Syndrome extraction measures only the weight-2 gauge operators, then classically computes the stabilizer syndrome from their products. This avoids the need for ancilla-mediated multi-qubit parity measurements entirely.

Stabilizer/Gauge Structure

For the 9,1,3 Bacon-Shor code on a 3×3 grid:

Gauge generators (weight 2):

Stabilizers (weight 6, but measured via weight-2 gauge operators):

Logical operators:

Performance Metrics

MetricValueNotesFidelity reference
Physical qubitsFor distance bacon-2006-bacon-shor
Measurement weight2Only nearest-neighbor two-body measurementsbacon-2006-bacon-shor
Encoding rateSame as surface code
Threshold~0.1% (concatenated)Lower than surface code, but simpler measurements
DistanceLinear in grid dimension

Scaling Considerations

  • Simplicity: Weight-2 measurements only, no ancilla overhead for syndrome extraction.
  • Asymmetric protection: Naturally biased — can be rectangular () to correct more X than Z errors or vice versa, matching hardware noise bias.
  • Concatenation: Effective when concatenated with other codes (e.g., repetition code for dominant error type).
  • Threshold limitation: Lower threshold than surface code makes it less competitive for depolarizing noise, but advantageous for biased noise.