1
$\begingroup$

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.

$\endgroup$

1 Answer 1

2
$\begingroup$

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.

$\endgroup$
1
  • 2
    $\begingroup$ This is a more informative answer than I'm likely to produce, so if I may I'll just add a brief high-level comment that I imagine might be helpful for understanding the big picture. The main idea is that we're intentionally propagating errors to the lower system; the CNOTs would do nothing if there were no errors, but if there are errors, they'll get propagated. We don't really care about this lower system, so we can simply measure it and proceed classically. This means treating the measurement result as a binary string and computing a syndrome for the corresponding classical linear code. $\endgroup$ Commented Oct 22 at 13:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.