23
Introduction to Quantum Error Correction Nielsen & Chuang Quantum Information and Quantum Computation, CUP 2000, Ch. 10 Gottesman quant-ph/0004072 Steane quant-ph/0304016 Gottesman quant-ph/9903099

Introduction to Quantum Error Correctioncs191/fa08/lectures/... · 2008-11-26 · Quantum noise: kk k!"#E!E 0 1 1001,1, 0110 EpEp!"!" =$%=#$% &'&' 0 1 1010,1 0101 EpEp!"!" =$%=#$%

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introduction to Quantum Error Correctioncs191/fa08/lectures/... · 2008-11-26 · Quantum noise: kk k!"#E!E 0 1 1001,1, 0110 EpEp!"!" =$%=#$% &'&' 0 1 1010,1 0101 EpEp!"!" =$%=#$%

Introduction toQuantum Error

Correction

Nielsen & ChuangQuantum Information and

Quantum Computation, CUP2000, Ch. 10

Gottesman quant-ph/0004072Steane quant-ph/0304016

Gottesman quant-ph/9903099

Page 2: Introduction to Quantum Error Correctioncs191/fa08/lectures/... · 2008-11-26 · Quantum noise: kk k!"#E!E 0 1 1001,1, 0110 EpEp!"!" =$%=#$% &'&' 0 1 1010,1 0101 EpEp!"!" =$%=#$%

Errors in QIP

• unitary• non-unitary• general: pure → mixed states

( )0 1 0 1U ie

! "# $ # $ ++ %%& +

0 1 0M

p!! "+ ##$

21f ftr! " "# <

† †

f k k k k

k k

E E E E! " " ! ! " "= # = =$ $

k!

0 0

from f env env

k k

k

k k

k

tr U U

e U e e U e

E E

! ! !

!

!

" #= $% &

= $

=

'

' 0 sys+env, ( )k kE e U e U=

k

trace preserving: 1k kE E =!

≡ take ρ and randomly replace by

with probability

k k k kE E! " "=

( )†k k kp tr E E!=

Page 3: Introduction to Quantum Error Correctioncs191/fa08/lectures/... · 2008-11-26 · Quantum noise: kk k!"#E!E 0 1 1001,1, 0110 EpEp!"!" =$%=#$% &'&' 0 1 1010,1 0101 EpEp!"!" =$%=#$%

Quantum noise:†

k k

k

E E! !"#

0 1

1 0 0 1, 1 ,

0 1 1 0E p E p

! " ! "= = #$ % $ %

& ' & '

0 1

1 0 1 0, 1

0 1 0 1E p E p

! " ! "= = #$ % $ %#& ' & '

channel representation

0 1

1 0 0, 1 1

0 1 0

iE p E pY p

i

!" # " #= = ! = !$ % $ %

& ' & '

( ) ( ) ( )13

pp X X Y Y Z Z! " " " " "= # + + +

0 12

1 0 0,

0 00 1E E

!!

" # " #= =$ % $ %$ %& ' (' (

Bit flip channel

Phase flip channel

Bit-phase flip channel

Amplitude damping channel

Depolarizing channel

{ } { }, , , , , ,2

x y z x y z

I rr r r r

!" ! ! ! !

+ #= = =

Geometrical interpretation: Bloch sphere in r-space (NC p. 376)

Page 4: Introduction to Quantum Error Correctioncs191/fa08/lectures/... · 2008-11-26 · Quantum noise: kk k!"#E!E 0 1 1001,1, 0110 EpEp!"!" =$%=#$% &'&' 0 1 1010,1 0101 EpEp!"!" =$%=#$%
Page 5: Introduction to Quantum Error Correctioncs191/fa08/lectures/... · 2008-11-26 · Quantum noise: kk k!"#E!E 0 1 1001,1, 0110 EpEp!"!" =$%=#$% &'&' 0 1 1010,1 0101 EpEp!"!" =$%=#$%
Page 6: Introduction to Quantum Error Correctioncs191/fa08/lectures/... · 2008-11-26 · Quantum noise: kk k!"#E!E 0 1 1001,1, 0110 EpEp!"!" =$%=#$% &'&' 0 1 1010,1 0101 EpEp!"!" =$%=#$%
Page 7: Introduction to Quantum Error Correctioncs191/fa08/lectures/... · 2008-11-26 · Quantum noise: kk k!"#E!E 0 1 1001,1, 0110 EpEp!"!" =$%=#$% &'&' 0 1 1010,1 0101 EpEp!"!" =$%=#$%
Page 8: Introduction to Quantum Error Correctioncs191/fa08/lectures/... · 2008-11-26 · Quantum noise: kk k!"#E!E 0 1 1001,1, 0110 EpEp!"!" =$%=#$% &'&' 0 1 1010,1 0101 EpEp!"!" =$%=#$%

Discrete errors as Pauli matrices1 0 0 1

0 1 1 0

0 1 0

0 0 1

I X

iY Z

i

! " ! "= =# $ # $% & % &

'! " ! "= =# $ # $'% & % &

• N-qubit Pauli matricesand ±1, ±i ≡ Pauli group, Pn: 4n+1 elements(4n tensor products, overall phase ±1, ±i)• notation: X⊗Y⊗I≡XYI• eigenvalues +1, -1• all pairs either commute or anticommute

X, Y, Z, anticommute {X,Z}=0X, I etc commute [X,I]=0

I|a>=|a>X|a>=|a⊕1>Y|a>=i(-1)a|a ⊕1>Z|a>=(-1)a|a>

P2 spans 2x2 matricesPn spans 2nx2n matricese.g. general phase error

( ) ( )

/ 2

/ 2

/ 2 / 2

1 0 0

0 0

cos / 2 sin / 2

i

i

i i

eR e

e e

I i Z

!!

! ! !

! !

"# $# $= = % &% &' ( ' (

= "

Page 9: Introduction to Quantum Error Correctioncs191/fa08/lectures/... · 2008-11-26 · Quantum noise: kk k!"#E!E 0 1 1001,1, 0110 EpEp!"!" =$%=#$% &'&' 0 1 1010,1 0101 EpEp!"!" =$%=#$%

Repetition codesclassical 0→000

1→111

error, e.g. 010, corrected to majority value → 000note: learned value of bits in doing so

prob. for bit error p < 1: multi-bit error prob. = 3p2(1-p)+p3=3p2-2p3

< p when p < 0.50→00000…1→11111…

n bits, majority n/2+1⇒ error prob. ≅ pn/2+1 +…⇒ error prob. ↓ as n ↑ (p < 0.5)

No cloning theorem!

( ) ( )( )

suppose and

then

but bylinearity

! ! ! " " "

! " ! " ! "

!! "" "! !"

! " !! ""

# #

+ # + +

= + + +

+ # +

quantum? ?! ! ! !""#

cannot copy unknown quantum states

Page 10: Introduction to Quantum Error Correctioncs191/fa08/lectures/... · 2008-11-26 · Quantum noise: kk k!"#E!E 0 1 1001,1, 0110 EpEp!"!" =$%=#$% &'&' 0 1 1010,1 0101 EpEp!"!" =$%=#$%

• quantum information is encoded into ρC

• an error occurs

• recovery procedure undertaken

• regain the encoded state ρC

Encode/Error/Recovery

[ ] † †( )C l k C k l

l k

R E E R! " "=# #R

†( )C k C k

k

E E! " "=#

[ ]( )C C

! " "=R

Page 11: Introduction to Quantum Error Correctioncs191/fa08/lectures/... · 2008-11-26 · Quantum noise: kk k!"#E!E 0 1 1001,1, 0110 EpEp!"!" =$%=#$% &'&' 0 1 1010,1 0101 EpEp!"!" =$%=#$%

error and recovery are superoperators

( ) †A Ak k

k

! " !#= =S

Encoding and Recovery

error diagnoseerror fixencode

encoding qubits

ancillasmeasurement

Unitary operations

Recovery operator R restores state to the codeafter error from environment

• encode into a subspace• no meaurement of state, only of error• achieve by adding ancilla qubits• measure ancillas → syndrome of error• perform unitaries conditional on syndrome to

correct erroneous qubits

R

Page 12: Introduction to Quantum Error Correctioncs191/fa08/lectures/... · 2008-11-26 · Quantum noise: kk k!"#E!E 0 1 1001,1, 0110 EpEp!"!" =$%=#$% &'&' 0 1 1010,1 0101 EpEp!"!" =$%=#$%

Encoding

e.g., 3-qubit bit flip code|0L>=|000>|1L>=|111>

0 1 0 1C L L

! " # ! " #= + $ = +

!

0

0

( )

( )

0 1 0 00 11

00 11 0 000 111 0 1L L

! " ! "

! " ! " ! "

+ # $ +

+ # $ + % +

C!

Page 13: Introduction to Quantum Error Correctioncs191/fa08/lectures/... · 2008-11-26 · Quantum noise: kk k!"#E!E 0 1 1001,1, 0110 EpEp!"!" =$%=#$% &'&' 0 1 1010,1 0101 EpEp!"!" =$%=#$%

{ }1

0 0 12

H!!" +

{ } { }

{ }

1 10 1 0 1

2 2

10 1

2

c

u

u

Uu

e

u e u

u

!""#

+

" +

=

+

( ) ( )

{ }

1 1 10 1 0 1

2 2 2

10 1 0 1

2

H

u

u u

e u

e ue

! "+ + #$ %

& '

+ + #

(()

=

H H

U

|0>

|u>

Measure qubit 1 (ancilla):result |0> with prob.

result |1> with prob.

( )2

11

2ue

! "+# $% &

( )2

11

2ue

! "#$ %& '

unit eigenvaluesof U (∈ Pn)

eu=-1 result 1 with prob. 1 result 0 with prob. 0

eu=+1 result 1 with prob. 0 result 0 with prob. 1

Measurement (Pauli ops.)

eu=eigenvalue of U

ancilla

syndromes

Page 14: Introduction to Quantum Error Correctioncs191/fa08/lectures/... · 2008-11-26 · Quantum noise: kk k!"#E!E 0 1 1001,1, 0110 EpEp!"!" =$%=#$% &'&' 0 1 1010,1 0101 EpEp!"!" =$%=#$%

Continuous Errors

( ) ( )

/ 2

/ 2

/ 2 / 2

1 0 0

0 0

cos / 2 sin / 2

i

i

i i

eR e

e e

I i Z

!!

! ! !

! !

"# $# $= = % &% &' ( ' (

= "

add ancilla(s), transfer error info to ancilla (c-U)( ) ( )0 1 0 0 1

L L anc L L ancZ Z Z! " ! "+ # $ + #

( ) ( )0 1 0 0 1L L anc L L anc

I I noerror! " ! "+ # $ + #

ancilla → superposition

( )

( )

cos 0 12

sin 0 12

L L anc

L L anc

I noerror

i Z Z

!" #

!" #

$ %+ &' (

) *$ %+ + &' () *

measure ancilla

( )2prob. sin 0 12

L L ancZ Z

!" #$ %

+ &' () *

( )2prob. cos 0 12

L L ancI noerror

!" #$ %

+ &' () *

invert either one → restore initial state

Page 15: Introduction to Quantum Error Correctioncs191/fa08/lectures/... · 2008-11-26 · Quantum noise: kk k!"#E!E 0 1 1001,1, 0110 EpEp!"!" =$%=#$% &'&' 0 1 1010,1 0101 EpEp!"!" =$%=#$%

3-qubit Bit Flip Code

|ψ>|0>

|0>

R

• • ••

•M

MX

|0L>=|000>|1L>=|111>

Error X with prob. p

encode diagnose fix

α|0>+β|1>

I II III IVerror

|0>anc

I: (α|0>+β|1>)⊗|0> ⊗|0>→ α|000>+β|111>

II: 8 possibilities from errors XII, IXI, IIX, XXI,XIX, IXX, XXX, III

Page 16: Introduction to Quantum Error Correctioncs191/fa08/lectures/... · 2008-11-26 · Quantum noise: kk k!"#E!E 0 1 1001,1, 0110 EpEp!"!" =$%=#$% &'&' 0 1 1010,1 0101 EpEp!"!" =$%=#$%

α|000>+β|111> (1-p)3

α|100>+β|011> p(1-p)2

α|010>+β|101> p(1-p)2

α|001>+β|110> p(1-p)2

α|110>+β|001> p2(1-p)α|101>+β|010> p2(1-p)α|011>+β|100> p2(1-p)α|111>+β|000> p3

Prob. of getting statestate after error

III: a) perform CNOT between qubits 1 & 2with ancilla 1b) perform CNOT between qubits 1 &3 with ancilla 2

α|000>+β|111>|00> (1-p)3

α|100>+β|011>|11> p(1-p)2

α|010>+β|101>|10> p(1-p)2

α|001>+β|110>|01> p(1-p)2

α|110>+β|001>|01> p2(1-p)α|101>+β|010>|10> p2(1-p)α|011>+β|100>|11> p2(1-p)α|111>+β|000>|00> p3

1 or noerror

syndromesyndrome redundant for 1 and 2 (0 and 3) errors, but unequal probabilities

Page 17: Introduction to Quantum Error Correctioncs191/fa08/lectures/... · 2008-11-26 · Quantum noise: kk k!"#E!E 0 1 1001,1, 0110 EpEp!"!" =$%=#$% &'&' 0 1 1010,1 0101 EpEp!"!" =$%=#$%

III. c) M = measure ancillas:assume only 1 (or 0) error ⇒ syndromeuniquely identifies error

failure rate of code = rate of ≥ 2 errors = 3p2(1-p)+p3

= 3p2-2p3 < p for p < 0.5

IV. fix by applying unitary conditional on Msyndrome: 00 do nothing

01 apply σx to 3rd qubit 10 apply σx to 2nd qubit 11 apply σx to 1st qubit

α|000>+β|111>|00>α|100>+β|011>|11>α|010>+β|101>|10>α|001>+β|110>|01>

recover encoded stateα|000>+β|111>

Page 18: Introduction to Quantum Error Correctioncs191/fa08/lectures/... · 2008-11-26 · Quantum noise: kk k!"#E!E 0 1 1001,1, 0110 EpEp!"!" =$%=#$% &'&' 0 1 1010,1 0101 EpEp!"!" =$%=#$%

Decodinge.g. from syndrome 10

after IV. have α|000>+β|111> with p(1-p)2

extract original qubit α|0>+β|1> with circuit:

i) ii)

i) α|000>+β|111> → α|0>|00>+β|1>|10>ii) α|0>|00>+β|1>|10> → α|0>|00>+β|1>|00>

= (α|0>+β|1>)|00>

⇒ get correct qubit state with prob. > 1-p prob. of failure = 3p2-2p3 < p for p < 0.5 success = 100% if no 2 or 3 errors

error prob. reduced from p to O(p2)

Page 19: Introduction to Quantum Error Correctioncs191/fa08/lectures/... · 2008-11-26 · Quantum noise: kk k!"#E!E 0 1 1001,1, 0110 EpEp!"!" =$%=#$% &'&' 0 1 1010,1 0101 EpEp!"!" =$%=#$%

3-bit Phase Codeσz(α|0>+β|1>) = α|0>-β|1> not classical!

change basis: |+> =1/√2(|0>+|1>) |->=1/√2(|0>-|1>)

1 1 1 11

1 1 1 12H

+! " ! "! " ! "= =# $ # $# $ # $% %& ' & '& ' & '

then σz|+>=|-> σz|->=|+>

like bit flip!H σzH=σx or H=|+><0|+|-><1|

|ψ>|0>

|0>

R

• • ••

•M

MX

H

H

H

H

H

H

I II

Z

Page 20: Introduction to Quantum Error Correctioncs191/fa08/lectures/... · 2008-11-26 · Quantum noise: kk k!"#E!E 0 1 1001,1, 0110 EpEp!"!" =$%=#$% &'&' 0 1 1010,1 0101 EpEp!"!" =$%=#$%

I, II → α|+++> + β|--->

effectively encoded into |0L>=|+++>, |1L>=|--->

phase errors ZII, IZI, ZII act as Z on |000>, |111>

e.g., ZII|000> = |000> ZII|111> = -1|111>

but as X on |+++>, |--->

Page 21: Introduction to Quantum Error Correctioncs191/fa08/lectures/... · 2008-11-26 · Quantum noise: kk k!"#E!E 0 1 1001,1, 0110 EpEp!"!" =$%=#$% &'&' 0 1 1010,1 0101 EpEp!"!" =$%=#$%

Both bit flip and phase errors:

concatenate these two codes:

|0L>=(|000>+|111>)(|000>+|111>)(|000>+|111>)|1L>=(|000>-|111>)(|000>-|111>)(|000>-|111>)

inner layer corrects bit flips 000, 111outer layer corrects phase flips +++, ----

Shor PRA 52, R2493 (1995)

define Bell basis:|000>±|111>|001> ±|110>|010> ±|101>|100> ±|011>

consider decoherence of qubit 1:e|0> → a0|0>+a1|1>e|1> → a2|0>+a3|1>

e, a0,…a3 =states of env

first triple:|000>+|111>→(a0|0>+a1|1>)|00>+

(a2|0>+a3|1>)|11>= a0|000>+a1|100|+a2|011>+a3|111>

Page 22: Introduction to Quantum Error Correctioncs191/fa08/lectures/... · 2008-11-26 · Quantum noise: kk k!"#E!E 0 1 1001,1, 0110 EpEp!"!" =$%=#$% &'&' 0 1 1010,1 0101 EpEp!"!" =$%=#$%

put in Bell basis →=1/2 (a0+a3) (|000> + |111>) +1/2 (a0-a3) (|000> - |111>) +1/2 (a1+a2) (|100> + |011>) +1/2 (a1-a2) (|100> - |111>)

similarly |000> - |111> goes to=1/2 (a0+a3) (|000> - |111>) +1/2 (a0-a3) (|000> + |111>) +1/2 (a1+a2) (|100> - |011>) +1/2 (a1-a2) (|100> + |111>)

output 2 (syndrome 2)

assume 1 error only:compare all 3 triples, see which differsmajority sign indicates |0L> or |1L>find which qubit decohered(measure 9 ancillas → which syndrome)restore qubit state with a unitary operation

1/2 (a0+a3) (|000> - |111>) ⇒ no erroroutput 2 1/2 (a0-a3) (|000> + |111>) ⇒ Z error

1/2 (a1+a2) (|100> + |011>) ⇒ X error 1/2 (a1-a2) (|100> - |011>) ⇒ ZX=Y error

e.g. from |000> - |111>)

Page 23: Introduction to Quantum Error Correctioncs191/fa08/lectures/... · 2008-11-26 · Quantum noise: kk k!"#E!E 0 1 1001,1, 0110 EpEp!"!" =$%=#$% &'&' 0 1 1010,1 0101 EpEp!"!" =$%=#$%

have diagnosed error on 1st qubit→ correct with appropriate unitary

Encoder:

|ψ>

|0>

|0>

H

H

H

|0>|0>

|0>|0>

|0>

|0>

[9,1,3] code: 9 physical qubits1 logical qubit(3-1)/2=1 arbitrary error corrected

not most efficient code: [7,1,3] and [5,1,3]cannot compute easily (logical X, Z OK

logical H, CNOT, T hard)