Download Quantum error correction

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Double-slit experiment wikipedia , lookup

Particle in a box wikipedia , lookup

Quantum field theory wikipedia , lookup

Measurement in quantum mechanics wikipedia , lookup

Theoretical and experimental justification for the Schrödinger equation wikipedia , lookup

Quantum dot wikipedia , lookup

Copenhagen interpretation wikipedia , lookup

Hydrogen atom wikipedia , lookup

Max Born wikipedia , lookup

Path integral formulation wikipedia , lookup

Bell's theorem wikipedia , lookup

Quantum fiction wikipedia , lookup

Quantum entanglement wikipedia , lookup

Quantum decoherence wikipedia , lookup

Density matrix wikipedia , lookup

Many-worlds interpretation wikipedia , lookup

Coherent states wikipedia , lookup

Orchestrated objective reduction wikipedia , lookup

Symmetry in quantum mechanics wikipedia , lookup

History of quantum field theory wikipedia , lookup

Quantum electrodynamics wikipedia , lookup

EPR paradox wikipedia , lookup

Interpretations of quantum mechanics wikipedia , lookup

Algorithmic cooling wikipedia , lookup

Probability amplitude wikipedia , lookup

Quantum group wikipedia , lookup

Quantum machine learning wikipedia , lookup

Canonical quantization wikipedia , lookup

Hidden variable theory wikipedia , lookup

Quantum state wikipedia , lookup

T-symmetry wikipedia , lookup

Quantum key distribution wikipedia , lookup

Quantum computing wikipedia , lookup

Quantum teleportation wikipedia , lookup

Transcript
Univerza v Ljubljani
Fakulteta za matematiko in fiziko
Oddelek za fiziko
Seminar Ia - 1. letnik, II. stopnja
Quantum error correction
Author: Blaž Kranjc
Mentor: doc. dr. Marko Žnidarič
Ljubljana, 2014
Abstract
Quantum computation is a promising field, but due to high usage of fragile large scale coherence the protection against noise is crucial. For classical
systems there is a well developed field of classical error correction which is
concerned with a problem of communication and information in presence of
noise. Unfortunately it can not be directly used on quantum systems due to
restrictions on qubit operations. For example, classical codes use duplication
of bits which is not possible in quantum mechanics, due to no-cloning theorem.
For some time it was believed that quantum error correction is not possible.
The breaking point was publication of an article by Shor in 1995 which introduced 9–qubit code that can correct an arbitrary single–qubit error. After this
the quantum error correction theory developed quickly, producing codes that
require less qubits.
1
Contents
1 Introduction
2
2 Classical error correction
3
3 Quantum circuits and gates
4
4 Quantum error correction
4.1 Issues with transferring classical error
systems . . . . . . . . . . . . . . . . .
4.2 Correcting bit–flip errors . . . . . . . .
4.3 Code correcting phase error . . . . . .
4.4 The Shor code . . . . . . . . . . . . . .
5
5 Conclusion
1
correcting
. . . . . .
. . . . . .
. . . . . .
. . . . . .
codes to quantum
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
5
6
8
10
11
Introduction
In classical information theory the central concept of dealing with information storage
and communication in the presence of noise is error correction. Classical error correction is a well developed field with tested methods and codes. Quantum systems,
especially when used in quantum computation rely on large scale interference which
is fragile and needs a good protection against noise [1, 2, 3]. Noise in quantum computers is the main reason why quantum computers are not yet available [4]. While
the field of quantum error correction highly relies on classical error correction, initially there were several obstacles that prolonged the adaptation of classical correcting
codes to quantum systems. In 1995 Shor published his paper on 9–qubit code [5] that
can correct an arbitrary single–qubit error and which demonstrated that quantum
error correction is possible.
In section 2 we are going to take a look at the simplest classical error correcting
code and it’s properties, which we will then try to generalize to use on quantum
systems in following sections. To understand error correcting codes some knowledge
of quantum circuits and logic gates is required and we will cover this in section 3. The
main topic of this seminar is contained in section 4. In this section the obstacles of
transferring classical error correcting codes to quantum systems are explained followed
by an explanation of simple codes that correct certain quantum errors. Those codes
are than combined in a full quantum code that can correct an arbitrary single-qubit
error–the Shor code.
2
2
Classical error correction
In classical information a bit is the basic unit of information. It can be only in two
states which are usually represented as 0 and 1. Simplest error correcting codes correct
single–bit errors. This are errors that occur on a bit independently from the other
bits. The only possible single–bit error is a bit–flip error that changes the bit state
from 0 to 1, or from 1 to 0. Let’s take a look at one of the single–bit error correcting
codes, the repetition code. Suppose we have a bit which we want to transfer through
a noisy channel. With probability 1−p nothing happens to a bit and with probability
p a bit-flip occurs. In optical fibers the values of p are around 10−6 . This is called a
binary symmetric channel since we assumed that a bit–flip from 1 to 0 is equally likely
to occur as a flip from 0 to 1. If we send a bit through such channel the probability
of getting the wrong bit on the other end is p. To decrease the probability of an error
we can duplicate the bit state two times. The encoded or logical states are therefore
0 → 000,
1 → 111.
(1)
Assuming errors on different bits are independent from each other the probability of
getting no flip errors is (1−p)3 , the probability of one flip is 3(1−p)2 p, the probability
of two flips is 3(1 − p)p2 and probability of getting an error on all the bits is p3 . We
decode the output states by a majority rule. If the number of bits in state 1 is larger
than the number of bits in state 0 than the decoded state is 1, otherwise the decoded
state is 0. The probability of getting the wrong bit with such encoding is 3p2 − 2p3 . If
the probability of an error p is less than 1/2 than the probability of getting the wrong
bit on the other end of the channel is less than p. We can lower the probability of an
error even more if we encode the bit in a larger odd number of bits and use the same
decryption. The probability of getting a wrong result is decreasing exponentially with
the number of bits used for the encoding. The same procedure can be used with non
symmetrical channels as long as probability of each error is less than 1/2.
Figure 1: A representation of simple quantum circuit. It contains the Hadamard
gate on the first qubit followed by the control–NOT between the first and the second
qubit. The control qubit of control–NOT gate is represented by black circle and the
target qubit by crossed circle.
3
3
Quantum circuits and gates
Quantum circuits are diagrams that show a sequence of quantum gates. Lines in the
circuit are referred to as wires. Each quantum wire represents a qubit and its passage
through time. The time passes from left to right. A simple quantum circuit with two
gates is represented in figure 1. There are some restrictions to quantum circuits. As
the wires represent the passage of time it is not possible to get feedback from any
part of the circuit. Also there is no operation that joins two or more lines together
since that kind of operation is not reversible. Lastly, it is not possible to duplicate
a wire to produce multiple copies of a state due to quantum mechanical no–cloning
theorem [6].
Quantum gates are operations on a small number of qubits and are the main
building blocks of quantum computer [6]. Two quantum gates that are needed in
error correcting codes presented in this seminar are listed and explained below.
The Hadamard gate
The Hadamard gate is a single–qubit gate, which can be represented by a matrix
1 1 1
.
(2)
H=√
2 1 −1
It also holds
H 2 = I,
(3)
where I is an identity matrix. Visualisation of its operation is presented in figure 2.
The symbol used to represent Hadamard gate is shown in figure 1.
Figure 2: Visualisation of the √
Hadamard gate’s operation on the Bloch sphere, acting
on the input state (|1i + |0i)/ 2. Each points on the surface of the Bloch represents
a pure state of a qubit. In spherical coordinate a state can be parameterized with
cos( 2θ ) |0i + eiφ sin( 2θ ) |1i . The Hadamard gate operation is a rotation of a sphere
around y axis by π/2, followed by rotation about z axis by π [6].
4
Control–NOT gate
Control–NOT gate is a two qubit quantum gate. The control–NOT gate applies a
bit–flip operation to a target qubit if and only if the control qubit is in state |1i [6].
4
Quantum error correction
Quantum analogue to a bit is a qubit. Qubit is a two-dimensional quantum system
whose eigenstates are commonly denoted as |0i and |1i. Unlike bits, which can be
only in two states, qubits can exist in coherent superposition of states |0i and |1i [3].
An arbitrary state of a qubit can be expressed as
|φi = α |0i + β |1i .
(4)
Conservation of probability for quantum states requires that all operations on qubits
are unitary and therefore reversible [1].
4.1
Issues with transferring classical error correcting codes
to quantum systems
Quantum error correction is largely based on their classical counterpart but there
are several obstacles that need to be addressed when we are trying to find quantum
analogues. First, classical error correcting codes make a huge use of copying data.
Such operation is not possible in quantum computation due to the no–cloning theorem
of quantum mechanics [1, 2]. There is no transformation U that satisfies
U (|φi ⊗ |ψi) = |φi ⊗ |φi
∀ |φi .
(5)
This means that we cannot simply copy a state to protect it from errors. Secondly,
any measurement on a state destroys the superposition that is used for computation
[7, 3]. Classical codes, such as the repetition code, use measurement of output bits to
decode the information. Quantum error correcting protocols must be able to detect
and correct the error without collapsing the state. Lastly, the errors that can occur
on the qubit state are different than classical errors. The most general error that can
occur on the qubit is
|ψi → E |ψi ,
(6)
where E is general unitary 2 × 2 matrix [1]. Because Pauli matrices and identity
matrix span the 2 × 2 matrix space, we can express any error E as
E = aI + bX + cY + dZ,
(7)
where a, b, c, d are complex coefficients. If the qubit’s state is a pure state, than the
squares of the coefficient can be interpreted as probabilities for each of the errors
5
1 0
I=
0 1
0 1
X=
1 0
0 −i
1 0
Y =
Z=
i 0
0 −1
Table 1: Pauli matrices [7].
occurring [7]. For example, a phase error [1] on single–qubit can be written in matrix
form as
1 0
Rθ/2 =
,
(8)
0 eiθ
which can be rewritten as
θ
θ
Rθ/2 = cos I − i sin Z.
2
2
(9)
We can interpret that as error Z occurring with probability sin2 2θ or no error occurring
with probability cos2 2θ .
The identity matrix I causes no error on the state. If we use Pauli matrix X on
a state the effect is similar to classical bit–flip error
X |1i = |0i ,
X |0i = |1i .
(10)
Pauli matrix Z introduces a phase error, which does not exist in classical systems [4].
Relative sign between eigenstates changes
Z |1i = − |1i ,
Z |0i = |0i .
(11)
Lastly, operation by a matrix Y = iXZ is a phase error followed by bit–flip [3, 7].
Error correcting code must therefore be able to correct this three types of error.
4.2
Correcting bit–flip errors
Let’s begin with a 3–qubit code which does not yet represent the full quantum code
instead it corrects a bit–flip error. Suppose we have a channel similar to a classical
channel used in a section 3. With a small probability p < 1/2 the qubit undergoes
an X error and with probability (1 − p) no error occurs. Also, assume that noise acts
on each qubit independently. For easier distinction let’s name the transmitter Alice
and the receiver Bob. Alice wants to transmit a qubit in a state |φi = α |0i + β |1i
to Bob. The whole quantum circuit is presented in figure 3. First she prepares two
further qubits in the state |0i so that the state of all qubits is α |000i + β |100i. Than
6
she applies control–NOT gate between the first qubit and the second, which produces
state α |000i + β |110i, followed by control–NOT gate between the first and the third
qubit, producing state α |000i + β |111i. Alice then sends all three qubits down the
channel. Note that with this operation we did not clone the initial state
α |000i + β |111i =
6 (α |0i + β |1i)⊗3 .
(12)
Bob receives the three qubits which were acted on by noise in the channel. Received
state is one of the states in table 2.
state
probability
error
3
α |000i + β |111i
(1 − p)
none
α |100i + β |011i p(1 − p)2
on 1st
α |010i + β |101i p(1 − p)2
on 2nd
2
α |001i + β |110i p(1 − p)
on 3rd
α |110i + β |001i p2 (1 − p) on 1st and 2nd
α |101i + β |010i p2 (1 − p)
on 1st and 3rd
α |011i + β |100i p2 (1 − p) on 2nd and 3rd
α |111i + β |000i
p3
on all
Table 2: Possible received states.
Bob now prepares two more qubits of his own initialized in state |00i. This extra
qubits are referred as an ancilla and are used to gather information on error [1, 3].
He applies control–NOT gates between the received qubits and ancilla as shown in
figure 3. The possible states of qubits are now
state
probability
(α |000i + β |111i) |00i
(1 − p)3
(α |100i + β |011i) |11i p(1 − p)2
(α |010i + β |101i) |10i p(1 − p)2
(α |001i + β |110i) |01i p(1 − p)2
(α |110i + β |001i) |01i p2 (1 − p)
(α |101i + β |010i) |10i p2 (1 − p)
(α |011i + β |100i) |11i p2 (1 − p)
(α |111i + β |000i) |00i
p3
Bob than measures the ancilla in the basis {|0i , |1i}, which gives him two bits of
information about the error. This information is called an error syndrome as it helps
to diagnose errors in the received qubits. Bob than performs one of the following
actions based on the error syndrome:
7
error syndrome
00
01
10
11
action
do nothing
apply X to the third qubit
apply X to the second qubit
apply X to the first qubit
Because of the relation X −1 = X the X operation reverses a bit–flip. Lastly Bob
decodes the states by applying control–NOT gates between the first and the second
qubit and between the first and the third qubit. After this operation he has either
(α |0i + β |1i) |00i, if at most one error occurred or (α |1i + β |0i) |00i if more than one
bit–flip error occurred, which is less likely. This error correction is designed to correct
either no error or error on one qubit. For small values of p these two results are more
likely than 2 or 3 errors occurring simultaneously. This method is an analogue to
classical repetition code. Probability of failure is 3p2 − 2p3 which is smaller than it
would be with no error correction for p < 1/2 [3].
Figure 3: Quantum circuit of a 3–qubit code that corrects bit–flip errors. Added
qubits in state |0i are represented with yellow circle. Red boxes are places where
ancilla are measured [3].
4.3
Code correcting phase error
We can construct similar code for correcting phase errors. Let’s take a channel similar
to the one in the previous subsection, where the error occurs on each qubit independently with probability p < 1/2, but this time the error is a phase error (Pauli matrix
Z). First let’s define states |+i and |−i as
|0i + |1i
√
,
2
|0i − |1i
|−i = H |1i = √
.
2
|+i = H |0i =
8
(13)
Operator H is the Hadamard gate (2). If we use Pauli matrix Z on these states we
get
Z |+i = |−i ,
Z |−i = |+i .
(14)
We can see that the operator Z in the basis {|+i , |−i} acts the same as the X
operator in the basis {|0i , |1i}. The error correction is similar to the one used to
correct bit–flip errors. First we encode the qubit state in three qubits,
α |0i + β |1i → α |000i + β |111i ,
(15)
then we apply the Hadamard gate to each qubit,
α |000i + β |111i → α |+ + +i + β |− − −i .
(16)
This state is then send through the noisy channel, where a phase error can occur. On
the other side of the channel we again apply the Hadamard gate on all the qubits and
the possible states are exactly the same as the ones in table 2. Further steps are the
same as the ones from bit–flip correction. If the rate of error without error correction
is p than after error correction the error is of order p2 .
The circuit of the error correcting code is shown in figure 4. Unlike circuit in
figure 3 this implementation does not use ancilla qubits. Instead, error syndrome is
measured from received qubits. This code uses less qubits, but such circuit is more
prone to gate errors. Quantum gates themselves can be a source of error [1]. With
circuit implementation in figure 3 the output contains 3 qubits and if the error occurs
on a gate after error correction only one of those states will be wrong and the error
can be corrected later. If however, an error occurs after error correction on a circuit
that does not use ancilla, the single qubit on the output can get corrupted and any
further computation on such qubit is wrong.
Figure 4: Quantum circuit of a 3–qubit code that corrects phase errors [8]. The noisy
channel is indicated with $ gate. The bit–flip operation is only applied only if both
qubits measured at gates with the scale symbol are in state |1i.
9
4.4
The Shor code
The first full quantum error correcting code to correct an arbitrary single–qubit error
is the Shor 9–qubit code. Shor code was developed by Shor in 1995 and is based on 3–
qubit codes [5, 4] from sections 4.2 and 4.3. It takes three 3–qubit bit–flip correcting
codes and performs the phase error correction. To be able to correct an arbitrary
error on a single–qubit the code must correct both bit–flip and phase error but also
a combined error Y = iXZ. This is possible if the correction of bit–flip and phase
errors are done independently.
For the bit–flip error correction we use the encoding |0i → |000i and |1i → |111i.
If we apply a single–qubit phase flip error on encoded states |000i and |111i we get
Z ⊗ I ⊗ I |000i = I ⊗ Z ⊗ I |000i = I ⊗ I ⊗ Z |000i = |000i ,
Z ⊗ I ⊗ I |111i = I ⊗ Z ⊗ I |111i = I ⊗ I ⊗ Z |111i = − |111i .
(17)
Defining states
1
|pi = √ (|000i + |111i),
2
1
|mi = √ (|000i − |111i).
2
(18)
we can see that a phase error exchanges states
Z ⊗ I ⊗ I |pi = I ⊗ Z ⊗ I |pi = I ⊗ I ⊗ Z |pi = |mi ,
Z ⊗ I ⊗ I |mi = I ⊗ Z ⊗ I |mi = I ⊗ I ⊗ Z |mi = |pi .
(19)
Phase error in the basis {|pi , |mi} is equal to bit–flip. With this in mind we can
combine both 3–qubit correcting codes. If we encode the qubit into 9–qubit state
1
|0i → |0iL = |pppi = √ (|000i + |111i) ⊗ (|000i + |111i) ⊗ (|000i + |111i),
2 2
1
|1i → |1iL = |mmmi = √ (|000i − |111i) ⊗ (|000i − |111i) ⊗ (|000i − |111i),
2 2
(20)
we can independently detect bit–flip and phase error. The bit–flip can be corrected
by preforming bit–flip correction codes on each block of three qubits and the phase
flips by preforming 3–qubit phase error correction code on states |pi and |mi. Because
these two operations are independent of each other we can correct them at once, thus
we can correct also the Y error [1]. The circuit for this code is shown in figure 5. The
rate of error after the code is again of order p2 if the rate of error in the channel is p. If
two different errors have the same effect on the states the code is degenerate. Phase
flip on any of the qubits in the block of three has the same effect on the encoded
10
Figure 5: Circuit of the Shor code that can correct an arbitrary single–qubit error
[8].
states, therefore the Shor code is a degenerate code. Also, Shor code can correct up
to three bit–flip errors if they occur on different block of three, but with a general
error in mind it can only handle one.
This is not the only single–qubit error correcting code. There exist codes that use
less qubit with the same reduction of the probability for an error. It is proven that
we need at least 5 qubits to be able to correct a general singl–qubit error and such
5–qubit code is known [1].
5
Conclusion
The Shor code was the first quantum error correcting code that corrected an arbitrary
single–qubit error. Since then quantum error correction achieved many successes.
There are known single–qubit error correcting codes that use less qubits and also
codes that are able to correct errors that occur on more than one qubit, such as
two–qubit errors.
The goal of quantum error correction is fault-tolerant quantum error correction.
As the quantum gates themselves can be a source of noise, implementations of error
correcting codes must take this into account. Fault tolerant error correcting codes
are codes that does not propagate an error on a single qubit onto the other qubits.
The existence of such codes is proven with threshold theorem. It states that if the
probability of error happening on gate is smaller than the threshold value pth it is
possible to implement any quantum circuit with any accuracy. The threshold value
is know to be at least 1.94 · 10−4 [9].
Some quantum error correction codes were also experimentally realised in different
11
quantum systems [10, 11].
Quantum error correction is not commonly used in ongoing quantum computation
experiments due to large number of used qubits. With current technology it’s hard
to maintain coherent states of large number of qubits [2].
References
[1] D. Gottesman, arXiv:quant-ph/0004072v1.
[2] E. Knill, R. Laflamme, A. Ashikhmin, H. Barnum, L. Viola, W. H. Zurek,
arXiv:quant-ph/0207170v1
[3] A. Stean, http://www.physics.ox.ac.uk/users/iontrap/pubs/Steane 2006.pdf [6.
february 2014].
[4] S. J. Devitt, W. J. Mourno, K. Nemoto, arXiv:0905.2794v4 [quant-ph]
[5] P. W. Shor, Phys. Rev. A 52, 2493 (1995)
[6] M. Nielsen, I. Chuang Quantum computation and quantum information (Cambridge University Press, 2000).
[7] F. Schwabl, Quantum Mechanics, 4th ed. (Springer London, Limited, 2007).
[8] D. Bacon, http://courses.cs.washington.edu/courses/cse599d/06wi/lecturenotes16.pdf
[6. february 2014]
[9] http://www.math.uwaterloo.ca/˜anayak/courses/co781-f06/lectures/faulttolerance1.pdf [2. march 2014]
[10] T. B. Pittman, B. C. Jacobs, J. D. Franson Phys. Rev. A 71, 052332 (2005).
[11] J. Chiaverini, D. Leibfried, T. Schaetz, M. D. Barret, Nature 432, 602 (2004).
12