
Fundamental concepts in Quantum Error Correction Julian Kelly Google Quantum AI Quantum Computing Education - Workforce Development Series February 24, 2021 Outline 1. Introduction 2. Handling Quantum Errors: Stabilizers a. What are they? b. Detecting and projecting errors 3. Error correction scheme: The surface code a. Physical layout b. Logical operators c. Logical states 4. Tracking errors: Decoding the repetition code a. Matching graph b. Minimum weight perfect matching Outline 1. Introduction 2. Handling Quantum Errors: Stabilizers a. What are they? b. Detecting and projecting errors 3. Error correction scheme: The surface code a. Physical layout b. Logical operators c. Logical states 4. Tracking errors: Decoding the repetition code a. Matching graph b. Minimum weight perfect matching PhD Thesis Quantum My Background Error “Sycamore” Correction “Optimus” Beyond-Classical (“Quantum Supremacy”) Xmon Automated transmon calibration Ugrad Thesis Single Qubit Bootstrapping and Gate Calibration Undergrad Grad School Google Google Quantum AI System Control Team Lead ● 2008 2010 2015 2021 Calibration ● Control Software “ORBIT” ● Electronics Optimal control and calibration 5 Xmon record fidelity CZ “Foxtail” “Bristlecone” 22 Xmon w/ 72 Xmon flip chip 2D array Quantum Error Correction Why do we care? Full potential of Quantum Computing requires error correction Many high value applications require extremely low error qubits: 10-15 ● Quantum Simulation ● Quantum Chemistry ● Shor’s Algorithm ● etc. Today’s best physical qubit system error rates: 10-3 Use error correction to trade physical overhead for lower logical error rates Google’s path to an error corrected machine 10-1 Beyond Classical (“Quantum Supremacy”) Error correction threshold 10-2 10-3 Limiting error rate error Limiting Classically ✘ ? NISQ Useful error 10-4 simulatable ✔ corrected QC 100 101 102 103 104 105 106 Number of Qubits Google AI Quantum hardware roadmap 2019 2029 Year 54 102 103 104 105 106 Physical qubits Beyond Logical qubit 1 logical qubit Tileable module Engineering Error-corrected classical prototype (Logical gate) scale up quantum computer Error correction Calibration Electronics Fridge Wiring Package Classical Error Correction ● Try to preserve 1 bit 1 - p ● Some error rate p it flips 0 0 ● Failure at 1 flip ○ pfail = p = O(p) p 1 Error correction majority vote ● Copy bit 3 times 001 0 succeed ● Recover bit value with majority vote ● Failure at 2 or 3 flips ○ 2 3 2 101 1 fail pfail = 3p - 2p = O(p ) ○ Want uncorrelated errors Error correction: trade redundancy for lower error rate l0〉 Qubit Bloch Qubits errors sphere Qubits have numerous error channels ● Decoherence errors ○ random bit/phase flips ● Continuous control errors ○ over/under rotation Classical: only bit errors (0 or 1) Qubits can have X and Z errors (bit/phase) l1〉 lψ〉= cos(θ/2) l0〉+ eiɸsin(θ/2) l1〉 Quantum Error Correction Goal: Protect qubit from all error channels Challenges: ● Need to correct X and Z errors ● No-cloning theorem, can’t copy like classical ○ Provable no quantum process: |0⟩⊗|ψ⟩ → |ψ⟩⊗|ψ⟩ ● Continuous errors ○ Example: Non-Pauli error rotation X(θ) ● Measurement destroys quantum information Basic QEC concept: NOTE: ● Distribute logical state over many physical qubits Following content created in ● Use “stabilizers” to deal with errors collaboration with ● Kevin Satzinger ● Austin Fowler Outline 1. Introduction 2. Handling Quantum Errors: Stabilizers a. What are they? b. Detecting and projecting errors 3. Error correction scheme: The surface code a. Physical layout b. Logical operators c. Logical states 4. Tracking errors: Decoding the repetition code a. Matching graph b. Minimum weight perfect matching Introduction to Stabilizers Use an extra “measure” qubit to projectively measure an operator Consider U with eigenvalues +1, -1 (U2=1) ⟩ ⟩⊗ ⟩ |ψsystem = |0 |ψin |0⟩ H H |ψ ⟩ U ⟩ in |ψout Nielsen / Chuang Exercise 4.34 Introduction to Stabilizers Use an extra “measure” qubit to projectively measure an operator Consider U with eigenvalues +1, -1 (U2=1) |0⟩⊗|ψ ⟩ + |1⟩ in (ignore √2’s) ⊗ ⟩ |ψin _ |0⟩ H H |ψ ⟩ U ⟩ in |ψout Nielsen / Chuang Exercise 4.34 Introduction to Stabilizers Use an extra “measure” qubit to projectively measure an operator Consider U with eigenvalues +1, -1 (U2=1) |0⟩⊗|ψ ⟩ + |1⟩ in (ignore √2’s) ⊗ ⟩ U|ψin |0⟩ H H |ψ ⟩ U ⟩ in |ψout Nielsen / Chuang Exercise 4.34 Introduction to Stabilizers Use an extra “measure” qubit to projectively measure an operator Consider U with eigenvalues +1, -1 (U2=1) |+⟩⊗|ψ ⟩ + |-⟩ in (ignore √2’s) ⊗ ⟩ U|ψin |0⟩ H H |ψ ⟩ U ⟩ in |ψout Nielsen / Chuang Exercise 4.34 Introduction to Stabilizers Use an extra “measure” qubit to projectively measure an operator Consider U with eigenvalues +1, -1 (U2=1) |0⟩⊗(1 + U)|ψ ⟩ + in (ignore √2’s) ⟩⊗ ⟩ |1 (1 - U)|ψin _ |0⟩ H H |ψ ⟩ U ⟩ in |ψout Nielsen / Chuang Exercise 4.34 Introduction to Stabilizers Use an extra “measure” qubit to projectively measure an operator 2 Consider U with eigenvalues +1, -1 (U =1) ⟩ prob. depends on |ψin Measures multi-qubit state without 0 → (1 + U)|ψ ⟩, U = +1 collapsing individual qubits, in (ignore √2’s) 1 → (1 - U)|ψ ⟩, U = -1 “stabilizes” to U eigenstate in |0⟩ H H |ψ ⟩ U ⟩ in |ψout is a U eigenstate: ⟩ ⟩ U|ψout =±|ψout U(1 ± U)|ψ⟩ = (U ± U2)|ψ⟩ = ±(1 ± U)|ψ⟩ Nielsen / Chuang Exercise 4.34 Example: Consider U = X X 0 1 Remember this! ⟩ This projects |00 onto an X0X1 eigenstate It remains a Z0Z1 = +1 eigenstate because [X0X1, Z0Z1] = Remember this! 0 ⟩ ⟩ ⟩ 0 → (1 + X0X1)|00 = |00 + |11 ⟩ ⟩ ⟩ 1 → (1 - X0X1)|00 = |00 - |11 |0⟩ H H |0⟩ Measurement → X X |0⟩ 0 1 entanglement! ignore √2’s 0 ↔ U = +1 1 ↔ U = -1 Example: Consider U = X X 0 1 Remember this! ⟩ This projects |00 onto an X0X1 eigenstate It remains a Z0Z1 = +1 eigenstate because [X0X1, Z0Z1] = 0 Remember this! 0 → (1 + X X )|00⟩ = |00⟩ + |11⟩ Compile to 0 1 1 → (1 - X X )|00⟩ = |00⟩ - |11⟩ native gates 0 1 |0⟩ H H |0⟩ Measurement → |0⟩ entanglement! ignore √2’s 0 ↔ U = +1 1 ↔ U = -1 Example: Consider U = X X 0 1 Remember this! ⟩ This projects |00 onto an X0X1 eigenstate It remains a Z0Z1 = +1 eigenstate because [X0X1, Z0Z1] = 0 Remember this! 0 → (1 + X X )|00⟩ = |00⟩ + |11⟩ Compile to 0 1 1 → (1 - X X )|00⟩ = |00⟩ - |11⟩ native gates 0 1 |0⟩ H H |0⟩ H H Measurement → entanglement! |0⟩ H H ignore √2’s 0 ↔ U = +1 1 ↔ U = -1 Stabilizer diagram Example: Measure X0X1 and Z0Z1 ⟩ This projects any |ψ onto an X0X1 and Z0Z1 eigenstate Z0Z1 X0X1 |0⟩ H H XX ⟩ X X Z Z ⟩ [X X , Z Z ] = 0 |ψin 0 1 0 1 |ψout 0 1 0 1 |0⟩ H H ZZ Stabilizer diagram Example: Measure X0X1 and Z0Z1 ⟩ This projects any |ψ onto an X0X1 and Z0Z1 eigenstate Z0Z1 X0X1 Projected to Also projected to Hilbert space XX eigenstate, ZZ eigenstate, 2 dimension = 2 dimension = 21 dimension = 20 |0⟩ H H XX ⟩ X X Z Z ⟩ [X X , Z Z ] = 0 |ψin 0 1 0 1 |ψout 0 1 0 1 |0⟩ H H ZZ Stabilizer diagram Example: Measure X0X1 and Z0Z1 ⟩ This projects any |ψ onto an X0X1 and Z0Z1 eigenstate Z Z X X n data qubits and m stabilizers → dimension = 2n-m 0 1 0 1 20: only one state (this slide) 21: “logical qubit” (more later) ⟩ Z0Z1 X0X1 |ψout |0⟩ H H XX +1 +1 |00⟩ + |11⟩ |ψ ⟩ X X Z Z |ψ ⟩ in 0 1 0 1 out +1 -1 |00⟩ - |11⟩ |0⟩ H H -1 +1 |01⟩ + |10⟩ ZZ ignore √2’s -1 -1 |01⟩ - |10⟩ 0 ↔ U = +1 1 ↔ U = -1 Detecting an error: accidental X ⟩ ⟩ ⟩ Start with |ψin = |00 + |11 , so both stabilizers expect +1 ⟩ Stabilizers detect errors without directly measuring |ψ Z0Z1 X0X1 |01⟩ + |10⟩ XX = +1 ZZ = -1 (as expected) Detect X error! ⟩ Z0Z1 X0X1 |ψout |0⟩ H H XX +1 +1 |00⟩ + |11⟩ X |ψ ⟩ X X Z Z |ψ ⟩ in 0 1 0 1 out +1 -1 |00⟩ - |11⟩ |0⟩ H H -1 +1 |01⟩ + |10⟩ ZZ ignore √2’s -1 -1 |01⟩ - |10⟩ 0 ↔ U = +1 1 ↔ U = -1 Detecting an error: accidental Z X stabilizers detect Z errors Remember this! Z stabilizers detect X errors Z0Z1 X0X1 |00⟩ - |11⟩ XX = -1 ZZ = +1 Detect Z error! (as expected) ⟩ Z0Z1 X0X1 |ψout |0⟩ H H XX +1 +1 |00⟩ + |11⟩ Z |ψ ⟩ X X Z Z |ψ ⟩ in 0 1 0 1 out +1 -1 |00⟩ - |11⟩ |0⟩ H H -1 +1 |01⟩ + |10⟩ ZZ ignore √2’s -1 -1 |01⟩ - |10⟩ 0 ↔ U = +1 1 ↔ U = -1 Detecting a small error: accidental Zϵ ⟩ ⟩ ⟩ Start with |ψin = |00 + |11 , so both stabilizers expect +1 Z0Z1 X0X1 |0⟩⊗(1 + XX)(|00⟩ + eiπϵ|11⟩) + |00⟩ + eiπϵ|11⟩ |1⟩⊗(1 - XX)(|00⟩ + eiπϵ|11⟩) + ⟩ Z0Z1 X0X1 |ψout |0⟩ H H XX +1 +1 |00⟩ + |11⟩ Zϵ |ψ ⟩ X X Z Z |ψ ⟩ in 0 1 0 1 out +1 -1 |00⟩ - |11⟩ |0⟩ H H -1 +1 |01⟩ + |10⟩ ZZ ignore √2’s -1 -1 |01⟩ - |10⟩ 0 ↔ U = +1 1 ↔ U = -1 Detecting a small error: accidental Zϵ ⟩ ⟩ ⟩ Start with |ψin = |00 + |11 , so both stabilizers expect +1 Z0Z1 X0X1 (1 + eiπϵ)|0⟩⊗(|00⟩ + |11⟩) + |00⟩ + eiπϵ|11⟩ (1 - eiπϵ)|1⟩⊗(|00⟩ - |11⟩) + ⟩ Z0Z1 X0X1 |ψout |0⟩ H H XX +1 +1 |00⟩ + |11⟩ Zϵ |ψ ⟩ X X Z Z |ψ ⟩ in 0 1 0 1 out +1 -1 |00⟩ - |11⟩ |0⟩ H H -1 +1 |01⟩ + |10⟩ ZZ ignore √2’s -1 -1 |01⟩ - |10⟩ 0 ↔ U = +1 1 ↔ U = -1 Detecting a small error: accidental Zϵ ⟩ ⟩ ⟩ Start with |ψin = |00 + |11 , so both stabilizers expect +1 Stabilizers project errors → probabilities Z0Z1 X0X1 Measurement probabilities: 0 → |00⟩ + |11⟩ 0: cos2(πϵ/2) ~ 1 - ϵ2 |00⟩ + eiπϵ|11⟩ 1 → |00⟩ - |11⟩ 1: sin2(πϵ/2) ~ ϵ2 ⟩ Z0Z1 X0X1 |ψout |0⟩ H H XX +1 +1 |00⟩ + |11⟩ Zϵ |ψ ⟩ X X Z Z |ψ ⟩ in 0 1 0 1 out +1 -1 |00⟩ - |11⟩ |0⟩ H H -1 +1 |01⟩ + |10⟩ ZZ ignore √2’s -1 -1 |01⟩ - |10⟩ 0 ↔ U = +1 1 ↔ U = -1 Detecting a small error: accidental Zϵ ⟩ ⟩ ⟩ Start with |ψin = |00 + |11 , so both stabilizers expect +1 Stabilizers project errors → probabilities Z0Z1 X0X1 Measurement probabilities: 0 → |00⟩ + |11⟩ 0: cos2(πϵ/2) ~ 1 - ϵ2 |00⟩ + eiπϵ|11⟩ 1 → |00⟩ - |11⟩ 1: sin2(πϵ/2) ~ ϵ2 |0⟩ H H XX Repeat stabilizers Zϵ ⟩ X X Z Z ⟩ |ψin 0 1 0 1 |ψout so small continuous errors can’t accumulate |0⟩ H H ZZ ignore √2’s 0 ↔ U = +1 1 ↔ U = -1 Detecting a small error: accidental Zϵ Z0Z1 X0X1 The syndrome measurement "forces" the qubit to "decide" for a certain specific "Pauli error" to "have happened", and the syndrome tells us which, so that we can let the same Pauli operator act again on the corrupted qubit to revert the effect of the error.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages68 Page
-
File Size-