Quantum Error Correction Daniel Gottesman Perimeter Institute.

Slides:



Advertisements
Similar presentations
Computing with adversarial noise Aram Harrow (UW -> MIT) Matt Hastings (Duke/MSR) Anup Rao (UW)
Advertisements

The Threshold for Fault-Tolerant Quantum Computation Daniel Gottesman Perimeter Institute.
parity bit is 1: data should have an odd number of 1's
Error Control Code.
Quantum Computing MAS 725 Hartmut Klauck NTU
F AULT T OLERANT Q UANTUM C OMPUTATION December 21 st, 2009 Mirmojtaba Gharibi.
11111 arXiv: Codeword stabilized quantum codes (CWS codes for short) Graeme Smith IBM TJ Watson Research Center Joint with: Andrew Cross John.
Quantum Error Correction Joshua Kretchmer Gautam Wilkins Eric Zhou.
Quantum Error Correction SOURCES: Michele Mosca Daniel Gottesman Richard Spillman Andrew Landahl.
Chien Hsing James Wu David Gottesman Andrew Landahl.
Quantum Error Correction and Fault Tolerance Daniel Gottesman Perimeter Institute.
Quantum Error Correction Daniel Gottesman Perimeter Institute.
Quantum Error Correction Michele Mosca. Quantum Error Correction: Bit Flip Errors l Suppose the environment will effect error (i.e. operation ) on our.
Quantum Computation and Error Correction Ali Soleimani.
5 Qubits Error Correcting Shor’s code uses 9 qubits to encode 1 qubit, but more efficient codes exist. Given our error model where errors can be any of.
Quantum Error Correction Codes-From Qubit to Qudit Xiaoyi Tang, Paul McGuirk.
Local Fault-tolerant Quantum Computation Krysta Svore Columbia University FTQC 29 August 2005 Collaborators: Barbara Terhal and David DiVincenzo, IBM quant-ph/
Beyond the DiVincenzo Criteria: Requirements and Desiderata for Fault-Tolerance Daniel Gottesman.
Review from last lecture: A Simple Quantum (3,1) Repetition Code
“Both Toffoli and CNOT need little help to do universal QC” (following a paper by the same title by Yaoyun Shi) paper.
Quantum Computing Lecture 22 Michele Mosca. Correcting Phase Errors l Suppose the environment effects error on our quantum computer, where This is a description.
Dirac Notation and Spectral decomposition Michele Mosca.
Error-correcting the IBM qubit error-correcting the IBM qubit panos aliferis IBM.
CSEP 590tv: Quantum Computing
Quantum Error Correction: Andrew Landahl David Gottesman Dr. Wu And others.
General Entanglement-Assisted Quantum Error-Correcting Codes Todd A. Brun, Igor Devetak and Min-Hsiu Hsieh Communication Sciences Institute QEC07.
BB84 Quantum Key Distribution 1.Alice chooses (4+  )n random bitstrings a and b, 2.Alice encodes each bit a i as {|0>,|1>} if b i =0 and as {|+>,|->}
Fault-Tolerant Quantum Computation in Multi-Qubit Block Codes Todd A. Brun University of Southern California QEC 2014, Zurich, Switzerland With Ching-Yi.
15-853Page :Algorithms in the Real World Error Correcting Codes I – Overview – Hamming Codes – Linear Codes.
Lo-Chau Quantum Key Distribution 1.Alice creates 2n EPR pairs in state each in state |  00 >, and picks a random 2n bitstring b, 2.Alice randomly selects.
Hamming Code Rachel Ah Chuen. Basic concepts Networks must be able to transfer data from one device to another with complete accuracy. Data can be corrupted.
exercise in the previous class (1)
Hamming Codes 11/17/04. History In the late 1940’s Richard Hamming recognized that the further evolution of computers required greater reliability, in.
Quantum Error Correction Daniel Gottesman Perimeter Institute.
Requirements and Desiderata for Fault-Tolerant Quantum Computing Daniel Gottesman Perimeter Institute for Theoretical Physics Beyond the DiVincenzo Criteria.
Quantum Error Correction Jian-Wei Pan Lecture Note 9.
Linear Codes.
Quantum Error Correction and Fault-Tolerance Todd A. Brun, Daniel A. Lidar, Ben Reichardt, Paolo Zanardi University of Southern California.
Error-Correcting Codes:
Information and Coding Theory Linear Block Codes. Basic definitions and some examples. Juris Viksna, 2015.
October 1 & 3, Introduction to Quantum Computing Lecture 1 of 2 Introduction to Quantum Computing Lecture 1 of 2
Quantum Factoring Michele Mosca The Fifth Canadian Summer School on Quantum Information August 3, 2005.
Error Control Code. Widely used in many areas, like communications, DVD, data storage… In communications, because of noise, you can never be sure that.
You Did Not Just Read This or did you?. Quantum Computing Dave Bacon Department of Computer Science & Engineering University of Washington Lecture 3:
Error Control Code. Widely used in many areas, like communications, DVD, data storage… In communications, because of noise, you can never be sure that.
CS717 Algorithm-Based Fault Tolerance Matrix Multiplication Greg Bronevetsky.
§6 Linear Codes § 6.1 Classification of error control system § 6.2 Channel coding conception § 6.3 The generator and parity-check matrices § 6.5 Hamming.
DIGITAL COMMUNICATIONS Linear Block Codes
1 Introduction to Quantum Information Processing CS 667 / PH 767 / CO 681 / AM 871 Richard Cleve DC 2117 Lecture 20 (2009)
ADVANTAGE of GENERATOR MATRIX:
Chapter 31 INTRODUCTION TO ALGEBRAIC CODING THEORY.
September 12, 2014 Martin Suchara Andrew Cross Jay Gambetta Supported by ARO W911NF S IMULATING AND C ORRECTING Q UBIT L EAKAGE.
Quantum Computing Reversibility & Quantum Computing.
Information Theory Linear Block Codes Jalal Al Roumy.
A Monomial matrix formalism to describe quantum many-body states Maarten Van den Nest Max Planck Institute for Quantum Optics Montreal, October 19 th 2011.
The parity bits of linear block codes are linear combination of the message. Therefore, we can represent the encoder by a linear system described by matrices.
Error Detection and Correction – Hamming Code
Fidelity of a Quantum ARQ Protocol Alexei Ashikhmin Bell Labs  Classical Automatic Repeat Request (ARQ) Protocol  Quantum Automatic Repeat Request (ARQ)
IPQI-2010-Anu Venugopalan 1 qubits, quantum registers and gates Anu Venugopalan Guru Gobind Singh Indraprastha Univeristy Delhi _______________________________________________.
Fidelities of Quantum ARQ Protocol Alexei Ashikhmin Bell Labs  Classical Automatic Repeat Request (ARQ) Protocol  Qubits, von Neumann Measurement, Quantum.
Richard Cleve DC 2117 Introduction to Quantum Information Processing QIC 710 / CS 667 / PH 767 / CO 681 / AM 871 Lecture (2011)
Quantum Bits (qubit) 1 qubit probabilistically represents 2 states
sparse codes from quantum circuits
Introduction to Quantum Computing Lecture 1 of 2
Quantum Error Correction
Quantum Computing Dorca Lee.
Chap 4 Quantum Circuits: p
RAID Redundant Array of Inexpensive (Independent) Disks
Improving Quantum Circuit Dependability
Quantum Error Correction
Presentation transcript:

Quantum Error Correction Daniel Gottesman Perimeter Institute

The Classical and Quantum Worlds

Quantum Errors A general quantum error is a superoperator:    A k  A k † Examples of single-qubit errors: Bit Flip X: X  0  =  1 , X  1  =  0  Phase Flip Z: Z  0  =  0 , Z  1  = -  1  Complete dephasing:   1/2(  + Z  Z † ) (decoherence) Rotation: R   0  =  0 , R   1  = e i   1 

Classical Repetition Code To correct a single bit-flip error for classical data, we can use the repetition code: 0   111 If there is a single bit flip error, we can correct the state by choosing the majority of the three bits, e.g. 010  0. When errors are rare, one error is more likely than two.

Barriers to Quantum Error Correction 1.Measurement of error destroys superpositions. 2.No-cloning theorem prevents repetition. 3.Must correct multiple types of errors (e.g., bit flip and phase errors). 4.How can we correct continuous errors and decoherence?

Measurement Destroys Superpositions? Let us apply the classical repetition code to a quantum state to try to correct a bit flip error:  0  +  1    000  +  111  Bit flip error (X) on 2nd qubit:  010  +  101  2nd qubit is now different from 1st and 3rd. We wish to measure that it is different without finding its actual value.

Measure the Error, Not the Data 00 00 Use this circuit: Encoded state Error syndrome 1st bit of error syndrome says whether the first two bits of the state are the same or different. 2nd bit of error syndrome says whether the second two bits of the state are the same or different. Ancilla qubits

Measure the Error, Not the Data With the information from the error syndrome, we can determine whether there is an error and where it is: E.g.,  010  +  101  has syndrome 11, which means the second bit is different. Correct it with a X operation on the second qubit. Note that the syndrome does not depend on  and . We have learned about the error without learning about the data, so superpositions are preserved!

Redundancy, Not Repetition This encoding does not violate the no-cloning theorem:  0  +  1    000  +  111   (  0  +  1  )  3 We have repeated the state only in the computational basis; superposition states are spread out (redundant encoding), but not repeated (which would violate no-cloning).

Update on the Problems 1.Measurement of error destroys superpositions. 2.No-cloning theorem prevents repetition. 3.Must correct multiple types of errors (e.g., bit flip and phase errors). 4.How can we correct continuous errors and decoherence?

Correcting Just Phase Errors Hadamard transform H exchanges bit flip and phase errors: H (  0  +  1  ) =  +  +  -  X  +  =  + , X  -  = -  -  (acts like phase flip) Z  +  =  - , Z  -  =  +  (acts like bit flip) Repetition code corrects a bit flip error Repetition code in Hadamard basis corrects a phase error.  +  +  -    +++  +  --- 

Nine-Qubit Code To correct both bit flips and phase flips, use both codes at once:  0  +  1    (  000  +  111  )  3 +  (  000  -  111  )  3 Repetition 000, 111 corrects a bit flip error, repetition of phase +++, --- corrects a phase error Actually, this code corrects a bit flip and a phase, so it also corrects a Y error: Y = iXZ: Y  0  = i  1 , Y  1  = -i  0  (global phase irrelevant)

Update on the Problems 1.Measurement of error destroys superpositions. 2.No-cloning theorem prevents repetition. 3.Must correct multiple types of errors (e.g., bit flip and phase errors). 4.How can we correct continuous errors and decoherence?

Correcting Continuous Rotation Let us rewrite continuous rotation R   0  =  0 , R   1  = e i   1  R  = ( ) = e i  /2 ( ) = cos (  /2) I - i sin (  /2) Z e i  e -i  /2 0 0 e i  /2 R  (k)  = cos (  /2)  - i sin (  /2) Z (k)  (R  (k) is R  acting on the kth qubit.)

Correcting Continuous Rotations How does error correction affect a state with a continuous rotation on it? R  (k)  = cos (  /2)  - i sin (  /2) Z (k)  cos (  /2)  I  - i sin (  /2) Z (k)   Z (k)  Error syndrome Measuring the error syndrome collapses the state: Prob. cos 2 (  /2):  (no correction needed) Prob. sin 2 (  /2): Z (k)  (corrected with Z (k) )

Correcting All Single-Qubit Errors Theorem: If a quantum error-correcting code (QECC) corrects errors A and B, it also corrects  A +  B. Any 2x2 matrix can be written as  I +  X +  Y +  Z. A general single-qubit error    A k  A k † acts like a mixture of   A k , and A k is a 2x2 matrix. Any QECC that corrects the single-qubit errors X, Y, and Z (plus I) corrects every single-qubit error. Correcting all t-qubit X, Y, Z on t qubits (plus I) corrects all t-qubit errors.

The Pauli Group Define the Pauli group P n on n qubits to be generated by X, Y, and Z on individual qubits. Then P n consists of all tensor products of up to n operators X, Y, or Z with overall phase ±1, ±i. Any pair M, N of Pauli operators either commutes (MN = NM) or anticommutes (MN = -NM). The weight of M  P n is the number of qubits in which M acts as a non-identity operator.

Small Error on Every Qubit Suppose we have a small error U  on every qubit in the QECC, where U  = I +  E. U   n  =  +  (E (1) E (n) )  + O(  2 ). Then If the code corrects one-qubit errors, it corrects the sum of the E (i) s. Therefore it corrects the O(  ) term, and the state remains correct to order  2. A code correcting t errors keeps the state correct to order  t+1.

QECC is Possible 1.Measurement of error destroys superpositions. 2.No-cloning theorem prevents repetition. 3.Must correct multiple types of errors (e.g., bit flip and phase errors). 4.How can we correct continuous errors and decoherence?

Stabilizer Codes

Error Syndromes Revisited Let us examine more closely the error syndrome for the classical repetition code. A correctly-encoded state 000 or 111 has the property that the first two bits have even parity (an even number of 1’s), and similarly for the 2nd and 3rd bits. A state with an error on one of the first two bits has odd parity for the first two bits. We can rephrase this by saying a codeword is a +1 eigenvector of Z  Z  I and a state with an error on the 1st or 2nd bit is a -1 eigenvector of Z  Z  I.

Error Syndromes Revisited For the three-qubit phase error correcting code, a codeword has eigenvalue +1 for X  X  I, whereas a state with a phase error on one of the first two qubits has eigenvalue -1 for X  X  I. Measuring Z  Z detects bit flip (X) errors, and measuring X  X detects phase (Z) errors. Error syndrome is formed by measuring enough operators to determine location of error.

Stabilizer for Nine-Qubit Code Z X X X M1M1 M2M2 M3M3 M4M4 M5M5 M6M6 M7M7 M8M8 We can write down all the operators determining the syndrome for the nine- qubit code. These generate a group, the stabilizer of the code, consisting of all Pauli operators M with the property that M  =  for all encoded states .

Properties of a Stabilizer The stabilizer is a group: If M  =  and N  = , then MN  = . The stabilizer is Abelian: If M  =  and N  = , then (MN-NM)  = MN  - NM  = 0 (For Pauli matrices) MN = NM Given any Abelian group S of Pauli operators, define a code space T(S) = {  s.t. M  =   M  S}. Then T(S) encodes k logical qubits in n physical qubits when S has n-k generators (so size 2 n-k ).

Stabilizer Elements Detect Errors Suppose M  S and Pauli error E anticommutes with M. Then: M ( E  ) = - EM  = - E , so E  has eigenvalue -1 for M. Conversely, if M and E commute for all M  S, M ( E  ) = EM  = E   M  S, so E  has eigenvalue +1 for all M in the stabilizer. The eigenvalue of an operator M from the stabilizer detects errors which anticommute with M.

Distance of a Stabilizer Code Let S be a stabilizer, and let T(S) be the corresponding QECC. Define N(S) = {N  P n s.t. MN=NM  M  S}. Then the distance d of T(S) is the weight of the smallest Pauli operator N in N(S) \ S. The code detects any error not in N(S) \ S (i.e., errors which commute with the stabilizer are not detected). Why minus S? “Errors” in S leave all codewords fixed, so are not really errors. (Degenerate QECC.)

Stabilizer Codes Correct Errors A stabilizer code with distance d will correct  (d-1)/2  errors (i.e., to correct t errors, we need distance 2t+1): The error syndrome is the list of eigenvalues of the generators of S. E and F have the same error syndrome iff E † F  N(S). (Then E and F commute with the same set of generators of S.) If E † F  N(S), the error syndrome can distinguish them. When E † F  S, E and F act the same on codewords, and there is no need to distinguish them. The code corrects errors for which E † F  N(S) \ S for all possible pairs of errors (E, F).

Application: 5-Qubit Code We can generate good codes by picking an appropriate stabilizer. For instance: X  Z  Z  X  I I  X  Z  Z  X X  I  X  Z  Z Z  X  I  X  Z n = 5 physical qubits - 4 generators of S k = 1 encoded qubit Distance d of this code is 3. Notation: [[n,k,d]] for a QECC encoding k logical qubits in n physical qubits with distance d. The five- qubit code is a non-degenerate [[5,1,3]] QECC.

Classical Linear Codes A large and useful family of classical error-correcting codes can be defined similarly, using a parity check matrix. Let H be a (n-k) x n binary matrix, and define a classical error-correcting code C by v  C  Hv = 0. C is linear: v,w  C  v+w  C. Also, let the distance d of C be the weight (# of non-zero entries) of the smallest non-zero v  C. Then a code with distance 2t+1 corrects t errors: the error syndrome of error e is He, and He = Hf only if e+f  C.

Classical Hamming Codes H = ( ) Define a parity check matrix whose columns are all vectors of length r. E.g., for r=3: This code has distance 3: if error e has weight 1, the error syndrome He specifies its location. Thus, the Hamming code for r is an [n=2 r -1, k=2 r -r-1, d=3] ECC (with k logical bits encoded in n physical bits and distance 3). E.g., for r=3, we have a [7,4,3] code.

Linear Codes and Stabilizers The classical parity check matrix H is analogous to the stabilizer S of a quantum error-correcting code. Indeed, if we replace all of the 1’s of H with Z operators, we get a stabilizer S defining exactly the same classical code. In particular, it can correct the same number of bit-flip errors. E.g., Stabilizer of the [7,4,3] Hamming code: Z  Z  Z  Z  I  I  I Z  Z  I  I  Z  Z  I Z  I  Z  I  Z  I  Z

CSS Codes We can then define a quantum error-correcting code by choosing two classical linear codes C 1 and C 2, and replacing the parity check matrix of C 1 with Z’s and the parity check matrix of C 2 with X’s. X  X  X  X  I  I  I X  X  I  I  X  X  I X  I  X  I  X  I  X Z  Z  Z  Z  I  I  I Z  Z  I  I  Z  Z  I Z  I  Z  I  Z  I  Z E.g.: C 1 : [7,4,3] Hamming C 2 : [7,4,3] Hamming [[7,1,3]] QECC

Which CSS Codes Are Possible? Not all pairs C 1 and C 2 are possible: the stabilizer must be Abelian. If v  C 1  and w  C 2 , the corresponding Pauli operators commute iff v  w = 0. Thus, w  C 2  is also in (C 1  )  = C 1. The dual C  of a classical code C is the set of vectors w s.t. v  w = 0 for all v  C. The rows of the parity check matrix for C generate C . To make a CSS code, we require C 2   C 1.

Properties of CSS Codes The parameters of a CSS code made from C 1, a [n,k 1,d 1 ] code, and C 2, a [n,k 2,d 2 ] code, are [[n, k 1 + k 2 - n, d’]] with d’  min (d 1,d 2 ). Why  ? Because of degeneracy (e.g., 9-qubit code). Codewords of a CSS code are superpositions of classical codewords: For v  C 1,  v  =   v+w  w  C 2  If v-v’  C 2 ,  v  and  v’  are the same state, so v should run over C 1 /C 2 . (Recall C 2   C 1.)

Stabilizer Codes We can describe a quantum stabilizer code by giving its stabilizer, an Abelian subgroup of the Pauli group. By looking at the stabilizer, we can learn all of the most interesting properties of a QECC, including the set of errors it can correct. One interesting and useful class of stabilizer codes is the family of CSS codes, derived from two classical codes. The 7-qubit code is the smallest example.

Quantum Error Correction Sonnet We cannot clone, perforce; instead, we split Coherence to protect it from that wrong That would destroy our valued quantum bit And make our computation take too long. Correct a flip and phase - that will suffice. If in our code another error's bred, We simply measure it, then God plays dice, Collapsing it to X or Y or Zed. We start with noisy seven, nine, or five And end with perfect one. To better spot Those flaws we must avoid, we first must strive To find which ones commute and which do not. With group and eigenstate, we've learned to fix Your quantum errors with our quantum tricks.

Fault-Tolerant Quantum Computation

Error Propagation When we perform multiple-qubit gates during a quantum computation, any existing errors in the computer can propagate to other qubits, even if the gate itself is perfect. CNOT propagates bit flips forward: 0011 0000 00 11 11 Phase errors propagate backwards:  0  +  1   0  -  1 

Transversal Operations Error propagation is only a serious problem if it propagates errors within a block of the QECC. Then one wrong gate could cause the whole block to fail. The solution: Perform gates transversally - i.e. only between corresponding qubits in separate blocks. 7-qubit code

Encoded X and Z X  X  X  X  I  I  I X  X  I  I  X  X  I X  I  X  I  X  I  X Z  Z  Z  Z  I  I  I Z  Z  I  I  Z  Z  I Z  I  Z  I  Z  I  Z Operations which commute with a stabilizer, but are not in it, perform encoded operations: We can identify them as logical Pauli gates. Also, they are transversal. X  X  X  X  X  X  X Z  Z  Z  Z  Z  Z  Z X Z

Fault-Tolerant Error Correction How can we perform error correction transversally? 00 Encoded state Non-fault-tolerant measurement of Z  Z  Z  Z: An error here could propagate to two qubits. Even strings  0000  +  1111  Encoded state Fault-tolerant measurement of Z  Z  Z  Z: H H H H Measure parity

Fault-Tolerant Error Correction Create and verify “cat” states  0000  +  1111 . Measure stabilizer generators to learn syndrome. Repeat for more confidence. More advanced FT syndrome measurement techniques use more complicated ancillas, but fewer operations on the data: Steane error correction (uses encoded states) Knill error correction (based on teleportation) Shor fault-tolerant error correction:

Logical Clifford Group Gates For the 7-qubit code, CNOT, Hadamard H, and phase gate P = R  /2 = diag (1,i) can all be done with transversal gates. (They generate the Clifford group, which can be efficiently simulated classically.) For instance, for CNOT: CNOT  7  v+w   v’+w’  =  v+w   (v+v’)+(w+w’)  = (logical CNOT)  v   v’ 

Universal Fault-Tolerant QC To complete a universal set of gates, we need some additional gate outside the Clifford group, for instance the  /8-gate: R  /4  0  = e -i  /8  0 , R  /4  1  = e i  /8  1 . We cannot perform it transversally, so we will need a more complicated construction: Create special ancilla state Perform teleportation-like procedure Perform Clifford group logical “correction”

Teleporting Quantum Gates Quantum teleportation followed by U: Bell measurement  U  2 classical bits QU Pauli operator Q specified by classical bits UQU † U Correction operator UQU † specified by classical bits  00  +  11  Special ancilla

Fault-Tolerant  /8-Gate  /8 gate has a special and useful property: R  /4 X R  /4 † = e -i  /4 PX, R  /4 Z R  /4 † = Z The correction required after teleportation is a Clifford group gate, for which we already know a fault-tolerant procedure! Create ancilla state: encoded  00  + e i  /4  11  Perform teleportation-like procedure Perform Clifford group logical “correction”

Concatenated Codes Error correction is performed more frequently at lower levels of concatenation. Threshold for fault-tolerance proven using concatenated error-correcting codes. Effective error rate One qubit is encoded as n, which are encoded as n 2, …

Threshold for Fault-Tolerance Theorem: There exists a threshold p t such that, if the error rate per gate and time step is p < p t, arbitrarily long quantum computations are possible. Proof sketch: Each level of concatenation changes the effective error rate p  p t (p/p t ) 2. The effective error rate p k after k levels of concatenation is then and for a computation of length T, we need only log (log T) levels of concatention, requiring polylog (T) extra qubits, for sufficient accuracy.

Requirements for Fault- Tolerance 1.Low gate error rates. 2.Ability to perform operations in parallel. 3.A way of remaining in, or returning to, the computational Hilbert space. 4.A source of fresh initialized qubits during the computation. 5.Benign error scaling: error rates that do not increase as the computer gets larger, and no large-scale correlated errors.

Value of the Threshold With a few extra assumptions (gates between arbitrary pairs of qubits, fast classical computation, no correlations or leakage errors), we can calculate the size of the threshold. Proof: 1 x (i.e., 1 error per 1,000 gates). Estimates range as high as 5 x (1 error per 20 gates). The highest estimates have high overhead. Value of threshold without the extra assumptions decreases -- e.g., may lose factor of 10 by working in 2 dimensions.

Summary Quantum error-correcting codes exist which can correct very general types of errors on quantum systems. A systematic theory of QECCs allows us to build many interesting quantum codes. Fault-tolerant protocols enable us to accurately perform quantum computations even if the physical components are not completely reliable, provided the error rate is below some threshold value.

Further Information Short intro. to QECCs: quant-ph/ Short intro. to fault-tolerance: quant-ph/ Long intro. to QECC and fault-tolerance: arXiv: Chapter 10 of Nielsen and Chuang Chapter 7 of John Preskill’s lecture notes: Threshold proof & fault-tolerance: quant-ph/ Complete course on QECCs: