* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Quantum error correction
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
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
Quantum key distribution wikipedia , lookup
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