1

I am interested in Steane error correction (not to be confused with the Steane code). This is described in Fig. 1 of this paper.

enter image description here

The idea is to create a $\vert +\rangle_L$ state with as many registers as used by $\vert\psi\rangle_L$ and connecting each data register to the ancilla with CNOTs. Finally, one measures the ancilla qubits. In the text, it says

This Steane-type QEC is to be seen in contrast to measuring each stabilizer individually, where due to fault tolerance requirements one has to resort to either verified Greenberger–Horne–Zeilinger (GHZ) states or flag schemes for the auxiliary qubits

I'm not really sure how this works.

Suppose I encode $\vert\psi\rangle_L$ into a CSS code (say the Steane code or the surface code). In the non-FT version (where I assume ancilla measurements are reliable and ancilla qubits don't have errors), I measure each stabilizer with an ancilla qubit. If some of them are $-1$, then I know an error occured. I work out which physical qubits to flip based on these.

I am struggling to understand how the error correction code works together with the Steane-type fault tolerance circuit shown.

  1. Why does measuring the $\vert +\rangle_L$ state in $Z$ basis (left half of figure) give us the correction $X_i$?
  2. How do I use the ancilla measurments of the figure for decoding? The figure suggests that I can simply correct any individual $X_j$ or $Z_i$ physical error on the data qubits after measuring the ancilla.
  3. Do I even measure the stabilizers of the code used to encode $\vert\psi\rangle_L$ at any point? Or is that information contained in the ancilla measurements?

Any pointers on how the overall scheme works would be greatly appreciated.

JRT
  • 616
  • 3
  • 7

1 Answers1

2

A good way to understand this circuit is to try and implement it in Stim.

  1. Why does measuring the $\vert +\rangle_L$ state in $Z$ basis (left half of figure) give us the correction $X_i$?

$X$ errors anticommute with $Z$ measurements, so from the measurement results you can figure out the correction.

  1. How do I use the ancilla measurments of the figure for decoding? The figure suggests that I can simply correct any individual $X_j$ or $Z_i$ physical error on the data qubits after measuring the ancilla.

You have to combine measurement outcomes to form detectors. I wrote an introduction to detectors in Section 2 of this paper. In this circuit, the 7 Z basis measurements of the ancilla qubits can be used to form 3 weight 4 detectors. Same goes for the 7 X basis measurements. You can, although this is not precise, think of these detectors as the measurement results of the stabilizer generators of the Steane code.

  1. Do I even measure the stabilizers of the code used to encode $\vert\psi\rangle_L$ at any point? Or is that information contained in the ancilla measurements?

Measuring ancilla qubits individually and combining the measurement results is equivalent to measuring stabilizers directly.

Peter-Jan
  • 2,163
  • 8
  • 28