QECC Tutorial Long

Embed Size (px)

Citation preview

  • 7/30/2019 QECC Tutorial Long

    1/90

    Quantum Error Correction

    Daniel Gottesman

    Perimeter Institute

  • 7/30/2019 QECC Tutorial Long

    2/90

    TheClassical

    and

    QuantumWorlds

  • 7/30/2019 QECC Tutorial Long

    3/90

    Quantum Errors

    A general quantum error is a superoperator:

    Ak Ak

    Examples of single-qubit errors:

    Bit Flip X: X0 = 1, X1 = 0

    Phase Flip Z: Z0 = 0, Z1 = -1Complete dephasing: ( + ZZ)/2(decoherence)

    Rotation: R0 = 0, R1 = ei1

  • 7/30/2019 QECC Tutorial Long

    4/90

    Classical Repetition Code

    To correct a single bit-flip error for classicaldata, we can use the repetition code:

    0 0001 111

    If there is a single bit flip error, we can

    correct the state by choosing the majority ofthe three bits, e.g. 010 0. When errorsare rare, one error is more likely than two.

  • 7/30/2019 QECC Tutorial Long

    5/90

    No-Cloning Theorem

    There is no device that will copy an unknownquantum state:

    0 00, 1 11

    0 + 100 + 11(0 + 1)(0 + 1)

    By linearity,

    (Related to Heisenberg Uncertainty Principle)

  • 7/30/2019 QECC Tutorial Long

    6/90

    Barriers to Quantum Error

    Correction1. Measurement of error destroys

    superpositions.

    2. No-cloning theorem prevents repetition.

    3. Must correct multiple types of errors (e.g., bitflip and phase errors).

    4. How can we correct continuous errors anddecoherence?

  • 7/30/2019 QECC Tutorial Long

    7/90

    Measurement Destroys

    Superpositions?Let us apply the classical repetition code to aquantum state to try to correct a single bit flip error:

    0 + 1000 + 111

    Bit flip error (X) on 2nd qubit:

    010 + 101

    2nd qubit is now different from 1st and 3rd. Wewish to measure that it is different without

    finding its actual value.

  • 7/30/2019 QECC Tutorial Long

    8/90

    Measure the Error, Not the Data

    00

    Use this circuit:

    Encoded

    state

    Errorsyndrome

    1st bit of error syndrome says whether the first twobits 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.

    Ancillaqubits

  • 7/30/2019 QECC Tutorial Long

    9/90

    Measure the Error, Not the Data

    With the information from the error syndrome,we can determine whether there is an error andwhere it is:

    E.g., 010 + 101 has syndrome 11, whichmeans the second bit is different. Correct it witha X operation on the second qubit. Note that the

    syndrome does not depend on and .

    We have learned about the error without learningabout the data, so superpositions are preserved!

  • 7/30/2019 QECC Tutorial Long

    10/90

    Redundancy, Not Repetition

    This encoding does not violate the no-cloningtheorem:

    0 + 1000 + 111

    (0 + 1)3

    We have repeated the state only in the

    computational basis; superposition states arespread out (redundant encoding), but notrepeated (which would violate no-cloning).

  • 7/30/2019 QECC Tutorial Long

    11/90

    Update on the Problems

    1. Measurement of error destroyssuperpositions.

    2. No-cloning theorem prevents repetition.

    3. Must correct multiple types of errors (e.g., bitflip and phase errors).

    4. How can we correct continuous errors anddecoherence?

  • 7/30/2019 QECC Tutorial Long

    12/90

    Correcting Just Phase Errors

    Hadamard transform H exchanges bit flipand phase errors:

    H (0 + 1) = + + -

    X+ = +, X- = -- (acts like phase flip)

    Z+ = -, Z- = + (acts like bit flip)

    Repetition code corrects a bit flip errorRepetition code in Hadamardbasis corrects a phase error.

    + + -+++ + ---

  • 7/30/2019 QECC Tutorial Long

    13/90

    Nine-Qubit Code

    To correct both bit flips and phase flips, use bothcodes at once:

    0 + 1

    (000 + 111)3 + (000 - 111)3

    Repetition 000, 111 corrects a bit flip error,

    repetition of phase +++, --- corrects a phase errorActually, this code corrects a bit flip and aphase, so it also corrects a Y error:

    Y = iXZ: Y0 = i1, Y1 = -i0(global phase

    irrelevant)

  • 7/30/2019 QECC Tutorial Long

    14/90

    Update on the Problems

    1. Measurement of error destroyssuperpositions.

    2. No-cloning theorem prevents repetition.

    3. Must correct multiple types of errors (e.g., bitflip and phase errors).

    4. How can we correct continuous errors anddecoherence?

  • 7/30/2019 QECC Tutorial Long

    15/90

    Correcting Continuous Rotation

    Let us rewrite continuous rotation

    R0 = 0, R1 = ei1

    R = ( )= ei/2( )= cos (/2) I - i sin (/2) Z

    1 00 ei

    e-i/2

    00 ei/2

    R(k) = cos (/2) - i sin (/2) Z(k)

    (R(k) is R acting on the kth qubit.)

  • 7/30/2019 QECC Tutorial Long

    16/90

    Correcting Continuous Rotations

    How does error correction affect a state with acontinuous 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. cos2 (/2): (no correction needed)

    Prob. sin2 (/2): Z(k) (corrected with Z(k))

  • 7/30/2019 QECC Tutorial Long

    17/90

    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 Ak Ak acts like amixture of Ak, and Ak 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.

  • 7/30/2019 QECC Tutorial Long

    18/90

    The Pauli Group

    Define the Pauli group Pn on n qubits to begenerated by X, Y, and Z on individual qubits.Then Pn consists of all tensor products of up to n

    operators I, 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 Pn is the number of qubits onwhich M acts as a non-identity operator.

    The Pauli group spans the set of all n-qubit errors.

  • 7/30/2019 QECC Tutorial Long

    19/90

    Small Error on Every Qubit

    Suppose we have a small error U on everyqubit in the QECC, where U = I + E.

    Un = + (E(1) + ... + E(n)) + O(2).

    Then

    If the code corrects one-qubit errors, it correctsthe sum of the E(i)s. Therefore it corrects theO() term, and the state remains correct toorder 2.

    A code correcting t errors keeps the state

    correct to order t+1.

  • 7/30/2019 QECC Tutorial Long

    20/90

    QECC is Possible

    1. Measurement of error destroyssuperpositions.

    2. No-cloning theorem prevents repetition.

    3. Must correct multiple types of errors (e.g., bitflip and phase errors).

    4. How can we correct continuous errors anddecoherence?

  • 7/30/2019 QECC Tutorial Long

    21/90

    QECC Conditions

    Thm.: A QECC can correct a set Eof errors iff

    iEaEbj = Cabij

    where {i} form a basis for the codewords,and Ea, EbE.

    Note:The matrix Cab

    does not depend on i and j.

    As an example, consider Cab = ab. Then we canmake a measurement to determine the error.

    If Cab has rank < maximum, code is degenerate.

  • 7/30/2019 QECC Tutorial Long

    22/90

    Erasure Errors

    Suppose we know the location of an error, but notits type (I, X, Y, or Z). This is called an erasure.

    By QECC conditions iEa

    Ebj = Cabij:Correct t general errors Correct 2t erasures

    For erasures, QECC conditions become:

    TrA does not depend on encoded state ,where A is set of qubits which are not erased.

    That is, erased qubits have no info. about .

  • 7/30/2019 QECC Tutorial Long

    23/90

    Stabilizer Codes

  • 7/30/2019 QECC Tutorial Long

    24/90

    Error Syndromes Revisited

    Let us examine more closely the error syndromefor the classical repetition code.

    For correctly-encoded state 000 or 111: first

    two bits have even parity (an even number of1s), and similarly for the 2nd and 3rd bits.

    We can rephrase this by saying a codeword is a+1 eigenvector of ZZI and a state with an erroron the 1st or 2nd bit is a -1 eigenvector of ZZI.

    For state with erroron one of the first two bits:

    odd parity for the first two bits.

  • 7/30/2019 QECC Tutorial Long

    25/90

    Error Syndromes Revisited

    For the three-qubit phase error correcting code, acodeword has eigenvalue +1 for XXI, whereasa state with a phase error on one of the first two

    qubits has eigenvalue -1 for XXI.

    Measuring ZZ detects bit flip (X) errors, andmeasuring XX detects phase (Z) errors.

    Error syndrome is formed by measuring enoughoperators to determine location of error.

  • 7/30/2019 QECC Tutorial Long

    26/90

    Stabilizer for Nine-Qubit Code

    Z Z

    Z Z

    Z Z

    Z Z

    Z Z

    Z Z

    X X X X X XX X X X X X

    M1

    M2

    M3

    M4

    M5M6

    M7M8

    We can writedown all the

    operatorsdeterminingthe syndromefor 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 .

  • 7/30/2019 QECC Tutorial Long

    27/90

    Properties of a StabilizerThe 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 = NMGiven any Abelian group S of Pauli operators, definea code spaceT(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 2n-k).

  • 7/30/2019 QECC Tutorial Long

    28/90

    Stabilizer Elements Detect Errors

    Suppose M S and Pauli error E anticommuteswith 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.

  • 7/30/2019 QECC Tutorial Long

    29/90

    Distance of a Stabilizer Code

    Let S be a stabilizer, and let T(S) be thecorresponding QECC. Define

    N(S) = {N Pn s.t. MN=NM M S}.Then the distance d of T(S) is the weight of thesmallest Pauli operator N in N(S) \ S.

    The code detects any error not in N(S) \ S (i.e., errorswhich commute with the stabilizer are not detected).

    Why minus S? Errors in S leave all codewords

    fixed, so are not really errors. (Degenerate QECC.)

  • 7/30/2019 QECC Tutorial Long

    30/90

    Error Syndromes and Stabilizers

    To correct errors, we must accumulate enoughinformation about the error to figure out whichone occurred.

    The error syndrome is the list of eigenvalues ofthe generators of S: If the error E commuteswith M S, then M has eigenvalue +1; if E andM anticommute, M has eigenvalue -1.

    We can then correct a set of possible errors ifthey all have distinct error syndromes.

  • 7/30/2019 QECC Tutorial Long

    31/90

    Stabilizer Codes Correct Errors

    A stabilizer code with distance d corrects (d-1)/2

    errors (i.e., to correct t errors, we need d = 2t+1):

    E and F act the same, so we need not distinguish.

    Thm.: The code corrects errors for which EF N(S) \ S for all possible pairs of errors (E, F).

    E and F have same error syndrome

    E and F commute with same elements of S

    EF N(S)

    EF S EF = F = E

  • 7/30/2019 QECC Tutorial Long

    32/90

    Stabilizer Codes Summary

    Choose an Abelian subgroup of the Pauligroup. This will be the stabilizer S of the QECC.

    The codewords: { s.t. M = M S}

    If S has r generators on n qubits, the QECChas k = n-r encoded qubits.

    The codes corrects errors if EF N(S) \ S forall pairs (E, F) of possible errors. The distanced is the minimum weight of N(S) \ S.

  • 7/30/2019 QECC Tutorial Long

    33/90

    Application: 5-Qubit Code

    We can generate good codes by picking anappropriate 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 logicalqubits in n physical qubits with distance d. The

    five-qubit code is a non-degenerate[[5,1,3]] QECC.

  • 7/30/2019 QECC Tutorial Long

    34/90

    The Smallest QECC

    Can we do better than a [[5,1,3]] QECC? No.

    Recall that correcting 1 general error isequivalent to correcting 2 erasure errors.

    Suppose we had a 4-qubit code whichcould correct 2 erasure errors:

    Each pair of qubitshas 2 erasures

    Cloning machine

  • 7/30/2019 QECC Tutorial Long

    35/90

    Classical Linear Codes

    A large and useful family of classical error-correcting codes can be defined similarly, usinga parity check matrix. Let H be a (n-k) x nbinary matrix, and define a classical error-

    correcting code C of n-bit vectors 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-zeroentries) of the smallest non-zero v C. Then acode with distance 2t+1 corrects t errors: theerror syndrome of error e is He, and He = Hf

    only if e+f C.

  • 7/30/2019 QECC Tutorial Long

    36/90

    Classical Hamming Codes

    H =

    ( )1 1 1 1 0 0 01 1 0 0 1 1 01 0 1 0 1 0 1

    Define a parity check matrix whose columnsare all vectors of length r. E.g., for r=3:

    This code has distance 3: if error e has weight1, the error syndrome He specifies its location.

    Thus, the Hamming code for r is an [n=2r

    -1,k=2r-r-1, d=3] ECC (with k logical bits encodedin n physical bits and distance 3).

    E.g., for r=3, we have a [7,4,3] code.

  • 7/30/2019 QECC Tutorial Long

    37/90

    Linear Codes and Stabilizers

    The classical parity check matrix H is analogousto the stabilizer S of a quantum error-correctingcode. Indeed, if we replace all of the 1s of H

    with Z operators, we get a stabilizer S definingexactly the same classical code. In particular, itcan correct the same number of bit-flip errors.

    E.g., Stabilizer of the [7,4,3] Hamming code:Z Z Z Z I I IZ Z I I Z Z I

    Z I Z I Z I Z

  • 7/30/2019 QECC Tutorial Long

    38/90

    CSS CodesWe can then define a quantum error-correctingcode by choosing two classical linear codes C1and C2, and replacing the parity check matrix of C1with Zs and the parity check matrix of C

    2with Xs.

    X X X X I I IX X I I X X IX I X I X I X

    Z Z Z Z I I IZ Z I I Z Z I

    Z I Z I Z I Z

    E.g.:C1: [7,4,3]Hamming

    C2: [7,4,3]Hamming

    [[7,1,3]]QECC

  • 7/30/2019 QECC Tutorial Long

    39/90

    Which CSS Codes Are Possible?

    Not all pairs C1 and C2 are possible: thestabilizer must be Abelian.

    If v C1 and w C2, the corresponding Paulioperators commute iff v w = 0. Thus, w C2is also in (C1

    ) = C1.

    The dual C

    of a classical code C is the set ofvectors w s.t. v w = 0 for all v C. The rowsof the parity check matrix for C generate C.

    To make a CSS code, we require C2 C1.

  • 7/30/2019 QECC Tutorial Long

    40/90

    Properties of CSS Codes

    The parameters of a CSS code made from C1, a[n,k1,d1] code, and C2, a [n,k2,d2] code, are

    [[n, k1 + k2 -n, d]] with d

    min (d1,d2).Why ? Because of degeneracy (e.g., 9-qubit code).

    Codewords of a CSS code are superpositions

    of classical codewords: For v C1,v = v+w

    w C2

    If v-v C2, v and v are the same state, so v

    should run over C1/C2. (Recall C2 C1.)

  • 7/30/2019 QECC Tutorial Long

    41/90

    Summary: Stabilizer Codes

    We can describe a quantum stabilizer codeby giving its stabilizer, an Abelian subgroup ofthe Pauli group.

    By looking at the stabilizer, we can learn allof the most interesting properties of a QECC,including the set of errors it can correct.

    One interesting and useful class of stabilizercodes is the family of CSS codes, derivedfrom two classical codes. The 7-qubit code is

    the smallest example.

  • 7/30/2019 QECC Tutorial Long

    42/90

    Quantum Error Correction Sonnet

    We cannot clone, perforce; instead, we splitCoherence to protect it from that wrongThat would destroy our valued quantum bitAnd 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 spotThose flaws we must avoid, we first must striveTo find which ones commute and which do not.

    With group and eigenstate, we've learned to fixYour quantum errors with our quantum tricks.

  • 7/30/2019 QECC Tutorial Long

    43/90

    Fault-Tolerant Quantum

    Computation

  • 7/30/2019 QECC Tutorial Long

    44/90

    Error Propagation

    When we perform multiple-qubit gates during aquantum computation, any existing errors in thecomputer can propagate to other qubits, even if

    the gate itself is perfect.CNOT propagatesbit flips forward:

    0 1

    0 0

    0

    1

    1

    Phase errorspropagate backwards:

    0 + 1

    0 + 1 0 + 1

    0 + 1

    0 - 1

    0 - 1

    0 - 1

  • 7/30/2019 QECC Tutorial Long

    45/90

    Fault-Tolerance

    ECFault-toleranterror correction

    Fault-tolerantmeasurement

    We need:

    Fault-tolerantencoded gates

    Fault-tolerantpreparation ofencoded state

    We need to avoid error propagation, and also needto perform gates without decoding the QECC.

  • 7/30/2019 QECC Tutorial Long

    46/90

    Ideal Decoder and t-Filter

    Ideal decoder

    Corrects errors anddecodes state producingan unencoded qubit.

    These operations cannot be performed using realgates, but they are useful for defining and provingfault-tolerance.

    tt-Error filter

    Projects on states thatare within t errors of avalid codeword

    code block decoded qubit

  • 7/30/2019 QECC Tutorial Long

    47/90

    Properties of FT gates

    GateProp. 1:

    =

    (decoded)

    Gate

    Prop. 2:

    =r r+s

    Errors propagate benignly. (Similarly for preparation.)

    A good FT gate performs the right gate on the encodedstate. (Similarly for preparation and measurement.)

    total per

    block

    total total

    s r s

    # errors

    r s

    (r+s 1 for distance 3 code)

    (r+s 1 for distance 3 code)

    r

    total

  • 7/30/2019 QECC Tutorial Long

    48/90

    Transversal Operations

    Error propagation is only a serious problem if itpropagates errors within a block of the QECC. Thenone wrong gate could cause the whole block to fail.

    The solution: Perform gates transversally - i.e. onlybetween corresponding qubits in separate blocks.

    7-qubit code

    7-qubit code

  • 7/30/2019 QECC Tutorial Long

    49/90

    Encoded X and Z

    X X X X I I IX X I I X X IX I X I X I X

    Z Z Z Z I I IZ Z I I Z Z IZ I Z I Z I Z

    Operations which commute with a stabilizer, but

    are not in it, perform encoded operations: We canidentify them as logical Pauli gates. Also, theyare transversal.

    X X X X X X X

    Z Z Z Z Z Z Z

    X

    Z

  • 7/30/2019 QECC Tutorial Long

    50/90

    Logical Clifford Group GatesFor the 7-qubit code, CNOT, Hadamard H, andphase gate P = R/2 = diag (1,i) can all be donewith transversal gates. (They generate the

    Clifford group, which can be efficiently simulatedclassically.)

    For instance, for CNOT:

    CNOT7v+wv+w= v+w(v+v)+(w+w)

    = (logical CNOT) vv

  • 7/30/2019 QECC Tutorial Long

    51/90

    FT Preparation and Measurement

    FT measurement for a CSS code:

    v = v+ww C2

    If we measure each qubit, we get a classicalcodeword v from C1, shifted by a randomcodeword from C2

    . Use classical EC to find v.

    FT preparation:

    1. Encode using any circuit.2. Perform FT error correction.

    3. Test encoded state.

  • 7/30/2019 QECC Tutorial Long

    52/90

    Properties of FT Error Correction

    ECProp. 1:EC = EC s

    Good error correction corrects any pre-existing errors.

    EC =

    Good error correction leaves the encoded state alone.

    ss

    (s 1 for distance 3 code)

    (r+s 1 for distance 3 code)

    ECProp. 2:

    s rr

  • 7/30/2019 QECC Tutorial Long

    53/90

    Fault-Tolerant Error Correction

    How can we perform error correction transversally?

    0

    Encodedstate

    Non-fault-tolerant measurement of Z Z Z Z:

    An error here couldpropagate to two qubits.

  • 7/30/2019 QECC Tutorial Long

    54/90

    Fault-Tolerant Error Correction

    How can we perform error correction transversally?

    Even strings

    0000 +1111

    Encodedstate

    Fault-tolerant measurement of Z Z Z Z:

    H

    H

    H

    H

    Measureparity

  • 7/30/2019 QECC Tutorial Long

    55/90

    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 measurementtechniques 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:

  • 7/30/2019 QECC Tutorial Long

    56/90

    Steane Error Correction

    data

    block

    0 + 1

    For CSS codes:

    H0

    Ancilla blocks are encoded using same code(verify them before using)

    bit flips propagateforwards

    phase errorspropagate backwards

    Perrors inclassicalcodewordsreveal

    locations oferrors

    random classicalcodeword w/ error

  • 7/30/2019 QECC Tutorial Long

    57/90

    Universal Fault-Tolerant QC

    To complete a universal set of gates, we need someadditional gate outside the Clifford group, forinstance the /8-gate: R/40 = e-i/80, R/41 =

    ei/81.We cannot perform it transversally, so we will needa more complicated construction:

    Create special ancilla state Perform teleportation-like procedure

    Perform Clifford group logical correction

  • 7/30/2019 QECC Tutorial Long

    58/90

    Teleporting Quantum Gates

    Quantum teleportation followed by U:

    Bell

    measurement

    U

    2 classical bits

    Q U

    Pauli operator Qspecified by classicalbits

    UQUU

    Correction operator UQUspecified by classical bits

    00 +11

    Specialancilla

  • 7/30/2019 QECC Tutorial Long

    59/90

    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 aClifford group gate, for which we already knowa fault-tolerant procedure!

    Create ancilla state: encoded 00 + ei/4

    11 Perform teleportation-like procedure

    Perform Clifford group logical correction

  • 7/30/2019 QECC Tutorial Long

    60/90

    Extended Rectangles

    Definition:An extended rectangle (or ExRec)consists of an EC step (leading), followed by an

    encoded gate, followed by another EC step (trailing).

    Definition:An ExRec is good if it contains at most one

    error (roughly speaking) in a gate in the ExRec.

    Note: Extended rectangles overlap with each other.

    EC EC EC

    1st ExRec 2nd ExRec

  • 7/30/2019 QECC Tutorial Long

    61/90

    Good Circuits are Correct

    Lemma [ExRec-Cor]:An ideal decoder can be pulledback through a good ExRec to just after the leading EC.

    EC EC =

    EC =

    (gate ExRec)

    (preparation ExRec)

    EC = EC

    (measurement ExRec)

    EC

  • 7/30/2019 QECC Tutorial Long

    62/90

    Correct Means What It Ought To

    Suppose we have a circuit consisting of only goodExRecs. Then its action is equivalent to that of thecorresponding ideal circuit:

    EC EC EC

    1. Use ExRec-Cor for measurement to introduce an

    ideal decoder before the final measurement.2. Use ExRec-Cor for gates to push the ideal decoder

    back to just after the very first EC step.

    3. Use ExRec-Cor for preparation to eliminate the

    decoder.

  • 7/30/2019 QECC Tutorial Long

    63/90

    Fault-Tolerant SimulationA fault-tolerant circuit simulates the behaviorof a circuit on the encoded qubits. We canreplace each ExRec with the correspondinggate. Suppose the ExRec has A gates, and

    each gate is wrong with probability p:Good ExRec:

    If there are 0 or 1 errors in the ExRec,replace the ExRec with the ideal gate.

    Bad ExRec:

    With prob. ~(A2/2)p2 the ExRec is bad,and we replace it with a faulty gate.

    For small enough p, error rate decreases.

  • 7/30/2019 QECC Tutorial Long

    64/90

    Summary of Fault Tolerance

    We can create fault-tolerant circuits from anystabilizer code, but the 7-qubit code is particularlystraightforward.

    We perform many logical gates by transversaloperations to avoid error propagation within blocks.

    Not all operations can be performed this way - theother trick is to create special ancillas and workhard to verify them.

  • 7/30/2019 QECC Tutorial Long

    65/90

    Threshold for Fault Tolerance

  • 7/30/2019 QECC Tutorial Long

    66/90

    Concatenated Codes

    Error correctionis performedmore frequentlyat lower levels ofconcatenation.

    Threshold for fault-tolerance proven usingconcatenated error-correcting codes.

    Effective error rateOne qubit isencoded as n,which areencoded as n2,

    (for a code correcting 1 error)

    p Cp2

  • 7/30/2019 QECC Tutorial Long

    67/90

    History of the Threshold

  • 7/30/2019 QECC Tutorial Long

    68/90

    History of the ThresholdShor (1996) - FT protocols

    Aharonov, Ben-Or

    (1996) - threshold

    proof

    Knill, Laflamme (1996)

    storage thresholdKitaev (1996-...)

    topological FT,

    thresholdK, L, Zurek (1996)

    threshold

    Zalka (1996)

    simulation

    Dennis et al. (2001)

    topological threshold

    Other

    simulations

    G, Preskill

    higher value

    Golden

    Age (1996)

    Renaissance (2004-)

    Dark

    Ages

    Knill (2004),

    Reichardt (2004)

    very high threshold

    Local gates, specific systems, ...

    Aliferis, G, Preskill

    (2005) - simple proof

    Reichardt (2005)

    d=3 proof

    Th DiVi C it i

  • 7/30/2019 QECC Tutorial Long

    69/90

    The DiVincenzo Criteria

    1. A scalable physical system with well-

    characterized qubits.2. The ability to initialize the state of the qubits

    to a simple fiducial state, such as 0...0.3. Long relevant decoherence times, much

    longer than the gate operation time.

    4. A universal set of quantum gates.

    5. A qubit-specific measurement capability.

    6. The ability to interconvert stationary andflying qubits.

    7. The ability to faithfully transmit flying qubitsbetween specified locations.

  • 7/30/2019 QECC Tutorial Long

    70/90

    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 notincrease as the computer gets larger, andno large-scale correlated errors.

  • 7/30/2019 QECC Tutorial Long

    71/90

    Additional Desiderata

    1. Ability to perform gates between distantqubits.

    2. Fast and reliable measurement andclassical computation.

    3. Little or no error correlation (unless theregisters are linked by a gate).

    4. Very low error rates.

    5. High parallelism.

    6. An ample supply of extra qubits.

    7. Even lower error rates.

  • 7/30/2019 QECC Tutorial Long

    72/90

    Tradeoffs Between Desiderata

    It is difficult, perhaps impossible, to find a physical

    system which satisfies all desiderata. Therefore, weneed to study tradeoffs:which sets of properties willallow us to perform fault-tolerant protocols? Forinstance, if we only have nearest-neighbor gates, whaterror rate do we need?

    The mandatory requirements for fault-tolerance are nottoo strenuous -- many physical systems will satisfy them.

    However, we will probably need at least some of the

    desiderata in order to actually make a fault-tolerantquantum computer.

  • 7/30/2019 QECC Tutorial Long

    73/90

    The Meaning of Error Rates

    Gate errors: errors caused by an imperfectgate.

    Storage errors: errors that occur evenwhen no gate is performed.

    Cited error rates are error probabilities;that is, the probability of projecting ontothe correct state after one step.

    E.g.: Rotation by angle has errorprobability ~ 2.

    Error rates are for a particular universal gate set.

  • 7/30/2019 QECC Tutorial Long

    74/90

    Determining the Threshold ValueThere are three basic methodologies used todetermine the value of the threshold:

    Numerical simulation: Randomly choose errors on acomputer, see how often they cause a problem. Tendsto give high threshold value, but maybe this is anoverestimate; only applies to simple error models.

    Rigorous proof: Prove a certain circuit is fault-tolerantfor some error rate. Gives the lowest threshold value,but everything is included (up to proofs assumptions).

    Analytic estimate: Guess certain effects are negligibleand calculate the threshold based on that. Gives

    intermediate threshold values.

  • 7/30/2019 QECC Tutorial Long

    75/90

    Threshold Values

    Computed threshold value depends on error-correctingcode, fault-tolerant circuitry, analysis technique. Assumefor now that all additional desiderata are satisfied.

    Concatenated 7-qubit code, standard circuitry:

    Threshold ~ 10-3(various simulations)

    Threshold ~ 3 x 10-5(proof: Aliferis,Gottesman, Preskill, quant-ph/0504218; also

    Reichardt, quant-ph/0509203) Best known code: 25-qubit Bacon-Shor code

    Threshold ~ 2 x 10-4 (proof: Aliferis, Cross,quant-ph/0610063)

  • 7/30/2019 QECC Tutorial Long

    76/90

    Ancilla FactoriesBest methods trade extra ancilla qubits for error rate:Ancilla factories create complex ancilla states tosubstitute for most gates on the data. Errors onancillas are less serious, since bad ancillas can bediscarded safely (Steane, quant-ph/9611027).

    Extreme case: Create all states using error-detectingcodes, ensuring a low basic error rate but very highoverheads (e.g. 106 or more physical qubits perlogical qubit) -- Knill, quant-ph/0404104, Reichardt,

    quant-ph/0406025.

    Simulations: threshold ~ 1% or higher.

    Provable threshold~ 10-3 (Reichardt, quant-ph/0612004,

    Aliferis, Gottesman, and Preskill, quant-ph/0703264)

  • 7/30/2019 QECC Tutorial Long

    77/90

    Parallel Operations

    Error correction operations should be applied inparallel, so we can correct all errors beforedecoherence sets in.

    Fault-tolerant gates are easily parallelized.

    Threshold calculations assume full parallelism.

  • 7/30/2019 QECC Tutorial Long

    78/90

    Erasure Errors

    For instance: loss of atoms

    Losing one is not too serious,but losing all is fatal.

    Erasures are an issue for:

    Quantum cellular automata

    Encoded universality

  • 7/30/2019 QECC Tutorial Long

    79/90

    Fresh Ancilla States

    We need a constant source of fresh blankqubits to perform error correction.

    Thermodynamically, noise introduces

    entropy into the system. Error correctionpumps entropy into cold ancilla states.

    a) Used ancillas become noisy.b) Ancillas warm up while they

    wait.

    Data

    Ancilla

  • 7/30/2019 QECC Tutorial Long

    80/90

    Fresh Ancilla States

    Used ancillas can be replaced by newancillas, but we must ensure ancillas do notwait too long: otherwise, there is anexponential loss of purity.

    In particular:

    It is not sufficient to initialize all qubits

    at the start of computation.

    For instance, this is a problem for liquid-stateNMR.

  • 7/30/2019 QECC Tutorial Long

    81/90

    Large-Scale Error Rates

    The error rate for a given qubit should notincrease when we add more qubits to thecomputer.

    For instance:

    Short-range crosstalk is OK, since it stopsincreasing after neighbors are added.

    (See Aharonov, Kitaev, Preskill, quant-ph/0510231.)

    Long-range crosstalk (such as 1/r2Coulomb coupling)

  • 7/30/2019 QECC Tutorial Long

    82/90

    Correlated Errors

    Small-scale correlations are acceptable:

    We can choose an error-correcting code whichcorrects multiple errors.

    Large-scale correlations are fatal:

    A large fraction of the computer fails withreasonable probability.

    Note: This type of error is rare in most weakly-coupled systems.

  • 7/30/2019 QECC Tutorial Long

    83/90

    Correlated Errors

    Small-scale correlations are not fatal, butare still better avoided.

    We assume correlated errors can occur whena gate interacts two qubits. Any other sourceof multiple-qubit errors is an additional errorrate not included in the threshold calculations.

    The worst case is correlated errors within ablock of the code, but the system can bedesigned so that such qubits are well separated.

    G

  • 7/30/2019 QECC Tutorial Long

    84/90

    Long-Range Gates

    Most calculated thresholds assume we canperform gates between qubits at arbitrarydistances.

    If not, threshold still exists, but we need

    better error rates to get a threshold, since weuse additional gates to move data aroundduring error correction.

  • 7/30/2019 QECC Tutorial Long

    85/90

    Local Gates

    Proof that threshold still exists with local gates: Gottesman,quant-ph/9903099; Aharonov, Ben-Or, quant-ph/9906129.

    We are starting to understand the value of thethreshold in this case:

    With concatenation, in 2D, proven threshold of ~ 10-5(Svore, Terhal, DiVincenzo, quant-ph/0604090)

    Almost 2D, w/ topological codes & cluster states,

    simulated threshold of ~ 6 x 10-3 (Raussendorf,Harrington, quant-ph/0610082)

    Almost 1D: proven threshold of ~ 10-6 (Stephens,Fowler, Hollenberg, quant-ph/0702201)

    F Cl i l P i

  • 7/30/2019 QECC Tutorial Long

    86/90

    Fast Classical Processing

    Fast measurement and classical processing isvery useful for error correction to compute theactual type and location of errors.

    We can implement the classical circuit withquantum gates if necessary, but this addsoverhead: the classical circuit must be madeclassically fault-tolerant.

    May not matter much for threshold? (Theclassical repetition code is very robust.)(Szkopek et al., quant-ph/0411111.)

  • 7/30/2019 QECC Tutorial Long

    87/90

    Other Error Models

    Coherent errors: Not serious; could addamplitudes instead of probabilities, but this worstcase will not happen in practice (unproven).

    Restricted types of errors: Generally nothelpful; tough to design appropriate codes. (Butother control techniques might help here.)

    Non-Markovian errors: Allowed; when theenvironment is weakly coupled to the system, atleast for bounded system-bath Hamiltonians.(Terhal, Burkhard, quant-ph/0402104, Aliferis, Gottesman, Preskill,quant-ph/0504218, Aharonov, Kitaev, Preskill, quant-ph/0510231.)

  • 7/30/2019 QECC Tutorial Long

    88/90

    Summary

    Quantum error-correcting codes exist which cancorrect very general types of errors on quantumsystems.

    A systematic theory of QECCs allows us to buildmany interesting quantum codes.

    Fault-tolerant protocols enable us to accurately

    perform quantum computations even if thephysical components are not completely reliable,provided the error rate is below some thresholdvalue.

  • 7/30/2019 QECC Tutorial Long

    89/90

    Further Information

    Short intro. to QECCs: quant-ph/0004072

    Short intro. to fault-tolerance: quant-ph/0701112

    Chapter 10 of Nielsen and ChuangChapter 7 of John Preskills lecture notes:http://www.theory.caltech.edu/~preskill/ph229

    Threshold proof & fault-tolerance: quant-ph/0504218

    My Ph.D. thesis: quant-ph/9705052

    Complete course on QECCs:http://perimeterinstitute.ca/personal/dgottesman/QECC2007

    http://www.theory.caltech.edu/~preskill/ph229http://perimeterinstitute.ca/personal/dgottesman/QECC2007http://perimeterinstitute.ca/personal/dgottesman/QECC2007http://www.theory.caltech.edu/~preskill/ph229
  • 7/30/2019 QECC Tutorial Long

    90/90

    The Future of Fault-Tolerance

    Industrial Age

    Experimental FT

    Ancilla

    factories

    Understanding

    of resource

    tradeoffs

    Efficient fault-

    tolerance

    Large quantum

    computers! Quantum

    I f ti A