16

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?

Sanchayan Dutta
  • 18,015
  • 8
  • 50
  • 112

2 Answers2

12

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.

Niel de Beaudrap
  • 12,702
  • 1
  • 33
  • 73
9

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.

Mithrandir24601
  • 3,816
  • 3
  • 24
  • 45