I understand the notation for classical error correcting codes. E.g., "Hamming(7,4)" stands for a Hamming code that uses 7 bits to encode blocks of 4 bits.

What does the notation for quantum error correcting codes mean? E.g., there is a paper that deals with a [[4,2,2]]-code. What are these three numbers? What do double brackets stand for?


An $[\![n,k,d]\!]$ code is a quantum error correction code which encodes $ k$ qubits in an $ n$-qubit state, in such a way that any operation which maps some encoded state to another encoded state must act on at least $d$ qubits. (So, for example, any encoded state which has been subjected to an error consisting of at most $\lfloor (d-1)/2 \rfloor $ Pauli operations can in principle be recovered perfectly).

This notation generalises the notation $ [n,k,d]$ for classical error correction codes, in which $ k$-bit "plaintext" strings are encoded in $n$-bit "codeword" strings, in such a way that at least $d $ bits must be flipped to transform between any two codewords representing different plaintexts. (In this context and in the quantum case, $ d $ is referred to as the code distance.) The double-brackets are used simply to denote that the code being referred to is a quantum error correction code rather than a classical code.

  • $\begingroup$ I had to choose just one answer to accept. The other answer elaborates more on the code distance definition. $\endgroup$ – Alexander Pozdneev Apr 17 '18 at 20:29

Taking an $\left[\left[n, k, d\right]\right]$ code:

The classical equivalent to this is an $\left[n, k, d\right]$ code, which is a code referring to the number of bits, $n$, encoding $k$ bits. The third number, $d$, is the minimum Hamming distance taken between any two codewords. This is equal to the minimum Hamming weight (i.e. number of non-zero bits) of non-zero codewords.

As per the classical case, in the quantum case, the first two numbers are referring to the numbers of qubits, $n$, that encode $k$ qubits. $d$ is still used to refer to distance, but the definition of distance has to be changed.

The weight, $t$, of a Pauli operator $E_a$, is the number of qubits that a (single-qubit) Pauli operator $\left(X, Y \text{ or } Z\right)$ acts on. As an example, arbitrarily taking $E_1 = X\otimes I\otimes I\otimes Z\otimes I$, $E_1$ has a weight $t=2$. The distance is then the minimum weight that the overlap of a Pauli operator (in the space of possible errors) acting on a codeword, with a different codeword is non-zero, or the minimum weight such that $\left<j\vert E_a\vert i\right>\neq C_a\delta_{ji}$ for some (real) $C_a$ for all codewords $i$ and $j$. That is, the distance is the minimum number of errors that can occur on a codeword that causes it to be mapped to a different codeword.

For more details, see e.g. Chapter 7 of Preskill's quantum computation notes.

  • $\begingroup$ Unfortunately, I could accept just one answer. The other answer provides an explicit relation between a maximum number of errors and a code distance. $\endgroup$ – Alexander Pozdneev Apr 17 '18 at 20:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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