Files
Quantum-Computation-course-…/exercises/Exercise4.ipynb
T
2024-11-19 13:42:08 +01:00

6.4 KiB

Exercise 4

1. Shor Code

The Shor (or 9 Qubit) code is a method for quantum error correction based on the classical repetition code. Here we will consider the version where a logical qubit is first stored in three physical qubits using the encoding


|+\rangle_3 = |+++\rangle, \,\,\, |-\rangle_3 = |---\rangle.

This protects against errors that try to flip |+\rangle_3 to |-\rangle_3, and vice-versa. But the corresponding errors for the Z basis states


|0\rangle_3 = \frac{1}{\sqrt{2}} (|+++\rangle+|---\rangle), \,\,\, |1\rangle_3 = \frac{1}{\sqrt{2}} (|+++\rangle-|---\rangle)

become more likely. To deal with this we take three of these logical qubits and use them (like the original physical qubits) to encode a single logical qubit. This uses the encoding:


|0\rangle_9 = |0\rangle_3 \otimes |0\rangle_3 \otimes |0\rangle_3, \,\,\, |1\rangle_9 = |1\rangle_3 \otimes |1\rangle_3 \otimes |1\rangle_3.

The end result is then a code that stores one logical qubit in 9 physical qubits, with stabilizer states


|0\rangle_9 = \left\lbrack \frac{1}{\sqrt{2}} \left(|+++\rangle  +|---\rangle \right) \right\rbrack^{\otimes 3}, \,\,\, |1\rangle_9 = \left\lbrack\frac{1}{\sqrt{2}}\left(|+++\rangle-|---\rangle\right) \right\rbrack^{\otimes 3}

a) Find operators that act as X and Z on the logical qubit. What are the minimal number of qubits these act on?

b) Suppose \sigma_x errors occur independently on each qubit with probability p_x. What is the probability P_x that a logical X occurs after syndrome measurement and error correction? For simplicity you can determine this only up to lowest order in p_x.

c) Similarly, what is the probability P_z of Z errors, given that \sigma_z errors occur with probability p_z? For simplicity you can determine this only up to lowest order in p_z.

2. Concatenated Shor Code

In order to increase the performance of a code we can use the concept of concatenation. We will now consider this process for the Shor code.

Let us describe physical qubits as level-0 qubits, and suppose we have n of them. We can use these to encode n/9 logical qubits, which we call level-1 qubits. These will have lower probabilities for noise than the level-0 qubits, but maybe not as low as we require. We can then use the level-1 qubits as if they were physical qubits, using them to encode n/9^2 level-2 qubits. This procedure can then be continued as many times as required, with the level-(l-1) qubits always used as the physical qubits of the Shor codes that encode the level-l qubits.

a) In order to encode a single level-l qubit, for arbitrary l, what is the number n(l) of level-0 qubits required?

b) The standard Shor code has distance d=3. What is the distance of a level-l concatenated Shor code?

c) We will use p_x^{(l)} to denote the bit flip error probility at level-l. The level-0 error rate is that of the phyical qubit errors: p_x^{(0)}=p_x. The level-1 error rate is that of the logical qubits of the 9 qubit code: p_x^{(1)}=P_x. Use your result from question 1(b) to show that p_x^{(l-1)} and p_x^{(l)} are related by


p_x^{(l)} < 27 \left( p_x^{(l-1)} \right)^2.

d) Show that p_x^{(l)} decays exponentially with n(l)^\beta when p_x < 1/27, and find \beta.

This is a proof of the `threshold theorem' for this code and error model. As long as the physical noise rate p_x is below the threshold value of 1/27 ( and p_z is below its threshold of 1/9), concatenation of the Shor code can achieve arbitrarily low error rates.

3. The Toric Code

The surface code is defined on a plane with rough and smooth boundary conditions. But we could instead wrap the L \times L square lattice around a torus and have periodic boundary conditions. Then the code would be translationally invariant, and all A_s and B_p stabilizers would be four qubit operators.

a) The parameter L counts the number of plaquettes along each direction. Show that n = 2L^2, where n is the number of qubits.

b) Show that the number of plaquette operators is L^2, but that the number of independent plaquette operators is L^2-1. Show the same thing for the vertex operators.

c) How many logical qubits, k, can be stored in the stabilizer space?

d) Define logical X and Z operators for these logical qubits. Note that these are not uniquely defined. However, as with any stabilizer code, you will know that your logical operators are a valid choice if they satisfy the following conditions.

  1. Logical Pauli operators must commute with all stabilizers.
  2. Logical Pauli operators for the same logical qubit anticommute: \{ X_j, Z_j \} = 0.
  3. Logical Pauli operators for different logical qubits commute: \left[ X_j, Z_j \right] = 0.