1

I was reading about the Steane's code for QEC. However I could not find any implementation or circuit describing its creation. Can anyone share/explain how the Steane's code could be implemented.

The answer can be Circuit Diagram or Implementation in any Quantum Programming Language (Q#, Qiskit etc)

vasjain
  • 802
  • 5
  • 21

1 Answers1

1

One way of defining the Steane code is via its stabilizers. There's a set of operators $\{K_n\}_{n=1}^6$ which all commute, such that a state in the code space is defined by being the $+1$ eigenstate of all these operators.

So, you can perform syndrome extraction simply by measuring the value of each stabilizer. This is a standard circuit, enter image description here (the $\sigma_1\otimes\ldots\otimes\sigma_n$ corresponds to a single $K_i$ term in this setting).

One very simple way that you can produce a codeword in the code space is simply to start with $|\psi\rangle$ as any state you want. Perform syndrome extraction and error correction on it, and the result must be a word in the space.

In fact, if you set $|\psi\rangle=|0000000\rangle$, you'll get the logical 0 state because this is a $+1$ eigenstate of $Z^{\otimes 7}$. Moreover, this state is already the $+1$ eigenstate of all the $Z$-type stabilizers so you don't have to measure any of those.

There do exist unitary encoding methods, but from the conceptual point of view, this is a very simple method that generalises to any stabilizer code.

DaftWullie
  • 57,689
  • 3
  • 46
  • 124