Quantum Error-Correcting Codes: Discrete Math meets Physics Markus - - PowerPoint PPT Presentation

quantum error correcting codes discrete math meets physics
SMART_READER_LITE
LIVE PREVIEW

Quantum Error-Correcting Codes: Discrete Math meets Physics Markus - - PowerPoint PPT Presentation

Quantum Error-Correcting Codes LAWCI Latin American Week on Coding and Information UniCamp Campinas, Brazil 2018, July 2027 Quantum Error-Correcting Codes: Discrete Math meets Physics Markus Grassl Markus.Grassl@mpl.mpg.de


slide-1
SLIDE 1

Quantum Error-Correcting Codes LAWCI

Latin American Week on Coding and Information UniCamp – Campinas, Brazil

2018, July 20–27

Quantum Error-Correcting Codes: Discrete Math meets Physics

Markus Grassl

Markus.Grassl@mpl.mpg.de www.codetables.de

Markus Grassl – 1– 24.07.2018

slide-2
SLIDE 2

Quantum Error-Correcting Codes LAWCI

Simple Quantum Error-Correcting Code

Repetition code: |0 → |000, |1 → |111 Encoding of one qubit: α|0 + β|1 → α|000 + β|111. This defines a two-dimensional subspace HC ≤ H2 ⊗ H2 ⊗ H2 bit-flip quantum state subspace no error α|000 + β|111 (1 ⊗ 1 ⊗ 1)HC 1st position α|100 + β|011 (X ⊗ 1 ⊗ 1)HC 2nd position α|010 + β|101 (1 ⊗ X ⊗ 1)HC 3rd position α|001 + β|110 (1 ⊗ 1 ⊗ X)HC Hence we have an orthogonal decomposition of H2 ⊗ H2 ⊗ H2

Markus Grassl – 27– 24.07.2018

slide-3
SLIDE 3

Quantum Error-Correcting Codes LAWCI

Simple Quantum Error-Correcting Code

|ψ |0 |0 s ❣ s ❣

encoding

|0 |0 s ❣ s ❣ s ❣ s ❣

syndrome computation measurement

☛✟ q ✂ ✂ ✍ ☛✟ q ❆ ❑ |c1 |c2 |c3 s1 s2 Error X ⊗ I ⊗ I gives syndrome s1s2 = 10 Error I ⊗ X ⊗ I gives syndrome s1s2 = 01 Error I ⊗ I ⊗ X gives syndrome s1s2 = 11

Markus Grassl – 30– 24.07.2018

slide-4
SLIDE 4

Quantum Error-Correcting Codes LAWCI

Linearity of Syndrome Computation

Different Errors: Error X ⊗ I ⊗ I syndrome 10 Error I ⊗ X ⊗ I syndrome 01 Suppose the (non-unitary) error is of the form E = α X ⊗ I ⊗ I + β I ⊗ X ⊗ I. Then syndrome computation yields α(X ⊗ I ⊗ I|ψenc ⊗ |10) + β(I ⊗ X ⊗ I|ψenc ⊗ |01). (error correction) → |ψenc(α|10 + β|01)

Markus Grassl – 33– 24.07.2018

slide-5
SLIDE 5

Quantum Error-Correcting Codes LAWCI

Shor’s Nine-Qubit Code

Hadamard basis: |+ =

1 √ 2(|0 + |1),

|− =

1 √ 2(|0 − |1)

Bit-flip code: |0 → |000, |1 → |111. Phase-flip code: |0 → | + ++, |1 → | − −−. Concatenation with bit-flip code gives: |0 →

1 √ 23 (|000 + |111)(|000 + |111)(|000 + |111)

|1 →

1 √ 23 (|000 − |111)(|000 − |111)(|000 − |111)

Claim: This code can correct one error, i. e., it is an [ [n, k, d] ]2 = [ [9, 1, 3] ]2.

Markus Grassl – 34– 24.07.2018

slide-6
SLIDE 6

Quantum Error-Correcting Codes LAWCI

Shor’s Nine-Qubit Code

Bit-flip code: |0 → |000, |1 → |111 Effect of single-qubit errors:

  • X-errors change the basis states, but can be corrected
  • Z-errors at any of the three positions:

Z|000 = |000 Z|111 = −|111    “encoded” Z-operator = ⇒ can be corrected by the second level of encoding

Markus Grassl – 35– 24.07.2018

slide-7
SLIDE 7

Quantum Error-Correcting Codes LAWCI

Knill-Laflamme Conditions Revisited

  • code with ONB {|ci}, channel with Kraus operators {Ek}
  • conditions:

(i) ci|E†

kEℓ|cj = 0

for i = j (ii) ci|E†

kEℓ|ci = cj|E† kEℓ|cj = αkl

  • interpretation:

(i) orthogonal states remain orthogonal under errors (ii) errors “rotate” all basis states the same way ✲

|ci

|cj

errors

= ⇒

✲ ❳❳❳❳ ❳ ③ ✏✏ ✏ ✶ ✻ ✄ ✄ ✄ ✄ ✄ ✗ ❇ ❇ ❇ ▼

Eℓ|cj Eℓ|ci Ek|cj Ek|ci α α

Markus Grassl – 36– 24.07.2018

slide-8
SLIDE 8

Quantum Error-Correcting Codes LAWCI

General Decoding Algorithm

E1C E2C · · · EkC · · · V0 E1|c0 E2|c0 · · · Ek|c0 · · · V1 E1|c1 E2|c1 · · · Ek|c1 · · · . . . . . . . . . ... . . . Vi E1|ci E2|ci · · · Ek|ci · · · . . . . . . . . . . . . ... ci|E†

kEl|cj = δi,jαk,l

(1)

Markus Grassl – 37– 24.07.2018

slide-9
SLIDE 9

Quantum Error-Correcting Codes LAWCI

General Decoding Algorithm

E1C E2C · · · EkC · · · V0 E1|c0 E2|c0 · · · Ek|c0 · · · V1 E1|c1 E2|c1 · · · Ek|c1 · · · . . . . . . . . . ... . . . Vi E1|ci E2|ci · · · Ek|ci · · · . . . . . . . . . . . . ... rows are orthogonal as ci|E†

kEl|cj = 0 for

i = j ci|E†

kEl|cj = δi,jαk,l

(1)

Markus Grassl – 38– 24.07.2018

slide-10
SLIDE 10

Quantum Error-Correcting Codes LAWCI

General Decoding Algorithm

E1C E2C · · · EkC · · · V0 E1|c0 E2|c0 · · · Ek|c0 · · · V1 E1|c1 E2|c1 · · · Ek|c1 · · · . . . . . . . . . ... . . . Vi E1|ci E2|ci · · · Ek|ci · · · . . . . . . . . . . . . ... rows are orthogonal as ci|E†

kEl|cj = 0 for

i = j inner product between columns is constant as ci|E†

kEl|ci = αk,l

ci|E†

kEl|cj = δi,jαk,l

(1)

Markus Grassl – 39– 24.07.2018

slide-11
SLIDE 11

Quantum Error-Correcting Codes LAWCI

General Decoding Algorithm

E1C E2C · · · EkC · · · V0 E1|c0 E2|c0 · · · Ek|c0 · · · V1 E1|c1 E2|c1 · · · Ek|c1 · · · . . . . . . . . . ... . . . Vi E1|ci E2|ci · · · Ek|ci · · · . . . . . . . . . . . . ... rows are orthogonal as ci|E†

kEl|cj = 0 for

i = j inner product between columns is constant as ci|E†

kEl|ci = αk,l

= ⇒ simultaneous Gram-Schmidt orthogonalization within the spaces Vi

Markus Grassl – 40– 24.07.2018

slide-12
SLIDE 12

Quantum Error-Correcting Codes LAWCI

Orthogonal Decomposition

E′

1C

E′

2C

· · · E′

kC

· · · V0 E′

1|c0

E′

2|c0

· · · E′

k|c0

· · · V1 E′

1|c1

E′

2|c1

· · · E′

k|c1

· · · . . . . . . . . . ... . . . Vi E′

1|ci

E′

2|ci

· · · E′

k|ci

· · · . . . . . . . . . . . . ... rows are mutually

  • rthogonal

columns are mutually orthogonal

  • new error operators E′

k are linear combinations of the El

  • projection onto E′

kC determines the error

  • exponentially many orthogonal spaces E′

kC

Markus Grassl – 41– 24.07.2018

slide-13
SLIDE 13

Quantum Error-Correcting Codes LAWCI

CSS Prelims: Linear Binary Codes

Generator matrix: C = [n, k, d]2 is a k-dim. subspace of Fn

2

= ⇒ basis with k (row) vectors, G ∈ Fk×n

2

C = {iG : i ∈ Fk

2}

Parity check matrix: C = [n, k, d]2 is a k-dim. subspace of Fn

2

= ⇒ kernel of n − k homogeneous linear equations, H ∈ F(n−k)×n

2

C = {v : v ∈ Fn

2|vHt = 0}

Error syndrome: erroneous codeword v = c + e = ⇒ error syndrome vHt = cHt + eHt = eHt

Markus Grassl – 42– 24.07.2018

slide-14
SLIDE 14

Quantum Error-Correcting Codes LAWCI

CSS Prelims: Dual of a Classical Code

Let C ≤ Fn

2 be a linear code. Then

C⊥ :=

  • y ∈ Fn

2 : n

  • i=1

xiyi = 0 for all x ∈ C

  • We denote the scalar product by x · y := n

i=1 xiyi.

Lemma: Let C be a linear binary code. Then

  • c∈C

(−1)x·c =    |C| for x ∈ C⊥, for x / ∈ C⊥.

Markus Grassl – 43– 24.07.2018

slide-15
SLIDE 15

Quantum Error-Correcting Codes LAWCI

Bit-flips and Phase-flips

Let C ≤ Fn

2 be a linear code. Then the image of the state

1

  • |C|
  • c∈C

|c under a bit-flip x ∈ Fn

2 and a phase-flip z ∈ Fn 2 is given by

1

  • |C|
  • c∈C

(−1)z·c|c + x. Hadamard transform H ⊗ . . . ⊗ H maps this to (−1)xz

  • |C⊥|
  • b∈C⊥

(−1)x·b|b + z

Markus Grassl – 44– 24.07.2018

slide-16
SLIDE 16

Quantum Error-Correcting Codes LAWCI

Proof:

Hadamard transform H⊗n = 1 √ 2n

  • a,b∈Fn

2

(−1)a·b|ba| H⊗n

  • 1
  • |C|
  • c∈C

(−1)z·c|c + x

  • =

1

  • |C|2n
  • a,b∈Fn

2

  • c∈C

(−1)z·c+a·b|ba|c + x = 1

  • |C|2n
  • b∈Fn

2

  • c∈C

(−1)z·c+(c+x)·b|b = 1

  • |C|2n
  • b∈Fn

2

(−1)x·b

c∈C

(−1)c·(b+z)|b = 1

  • |C|2n
  • b∈Fn

2

(−1)x·(b+z)

c∈C

(−1)c·b|b + z = (−1)x·z

  • |C⊥|
  • b∈C⊥

(−1)x·b|b + z

Markus Grassl – 45– 24.07.2018

slide-17
SLIDE 17

Quantum Error-Correcting Codes LAWCI

CSS Codes

Introduced by R. Calderbank, P. Shor, and A. Steane [Calderbank & Shor PRA, 54, 1098–1105, 1996] [Steane, PRL 77, 793–797, 1996] Construction: Let C1 = [n, k1, d1]q and C2 = [n, k2, d1]q be classical linear codes with C⊥

2 ≤ C1. Let {x1, . . . , xK} be representatives for the cosets

C1/C⊥

2 . Define quantum states

|xi + C⊥

2 :=

1

  • |C⊥

2 |

  • y∈C⊥

2

|xi + y Theorem: Then the vector space C spanned by these states is a quantum code with parameters [ [n, k1 + k2 − n, d] ]q where d ≥ min(d1, d2).

Markus Grassl – 46– 24.07.2018

slide-18
SLIDE 18

Quantum Error-Correcting Codes LAWCI

CSS Codes — how they work

Basis states: |xi + C⊥

2 =

1

  • |C⊥

2 |

  • y∈C⊥

2

|xi + y Suppose a bit-flip error b happens to |xi + C⊥

2 :

1

  • |C⊥

2 |

  • y∈C⊥

2

|xi + y + b Now, we introduce an ancilla register initialized in |0 and compute the syndrome.

Markus Grassl – 47– 24.07.2018

slide-19
SLIDE 19

Quantum Error-Correcting Codes LAWCI

CSS Codes — how they work

Let H1 be the parity check matrix of C1, i. e., xHt

1 = 0 for all x ∈ C1.

1

  • |C⊥

2 |

  • y∈C⊥

2

|xi + y + b|(xi + y + b)Ht

1 =

1

  • |C⊥

2 |

  • y∈C⊥

2

|xi + y + b|bHt

1

Then measure the ancilla to obtain s = bHt

  • 1. Use this to correct the error by a

conditional operation which flips the bits in b. Phase-flips: Suppose we have the state 1

  • |C⊥

2 |

  • y∈C⊥

2

(−1)(xi+y)·z|xi + y Then H⊗n yields a superposition over a coset of C2 which has a bit-flip. Correct it as before (with a parity check matrix for C2).

Markus Grassl – 48– 24.07.2018

slide-20
SLIDE 20

Quantum Error-Correcting Codes LAWCI

Encoding

Classical code information − → codeword i = (i1, i2, . . . , ik) − → i · G =

k

  • j=1

ijgj Quantum code information − → cosets of the code C⊥

2 in C1

|i = |i1, i2, . . . , ik − →

  • c∈C⊥

2

|c + xi =

  • c∈C⊥

2

|c +

k

  • j=1

ijgj =

  • x∈{0,1}k

|x · ˜ G +

k

  • j=1

ijgj

C⊥

2 ⊆ C1, ˜

G is generator matrix for C⊥

2 ,

the gj are linear independent coset representatives of C1/C⊥

2

Markus Grassl – 49– 24.07.2018

slide-21
SLIDE 21

Quantum Error-Correcting Codes LAWCI

Example: Seven Qubit Code

Given the dual C of the binary Hamming code, with generator matrix G =     1 1 1 1 1 1 1 1 1 1 1 1     , then C is a [7, 3, 4] and C ≤ C⊥. The dual code C⊥ is a [7, 4, 3] and has generator matrix G′ =        1 1 1 1 1 1 1 1 1 1 1 1 1 1 1       

Markus Grassl – 50– 24.07.2018

slide-22
SLIDE 22

Quantum Error-Correcting Codes LAWCI

G t =             1 1 1 1 1 1 1 1 1 1 1 1 1 1 1            

|0 |0 |0 |ψ |0 |0 |0 H H H

✐ ✐

✐ ✐

✐ ✐ |c7 |c6 |c5 |c4 |c3 |c2 |c1 α|0 + β|1 → α 1 √ 8

  • i1,i2,i3∈{0,1}

|0g4 + i3g3 + i2g2 + i1g1 +β 1 √ 8

  • i1,i2,i3∈{0,1}

|1g4 + i3g3 + i2g2 + i1g1

Markus Grassl – 51– 24.07.2018

slide-23
SLIDE 23

Quantum Error-Correcting Codes LAWCI

Computation of an Error Syndrome

Classical code: received vector − → syndrome r = (r1, r2, . . . , rk) − → r · Ht =

n−k

  • j=1

rjhj = (c + e) · Ht = e · Ht Quantum code: quantum state − → quantum state ⊗ syndrome

  • c∈C⊥

2 |c+xi+e

− →

  • c∈C⊥

2

|c + xi + e ⊗ |(c + xi + e) · ˜ Ht =  

c∈C⊥

2

|c + xi + e   ⊗ |e · ˜ Ht

˜ H is a parity check matrix of C1

Markus Grassl – 52– 24.07.2018

slide-24
SLIDE 24

Quantum Error-Correcting Codes LAWCI

Syndrome Computation of CSS Codes

|ψi=

  • c∈C⊥

2

|c + xi, H⊗N|ψi=

  • c∈C2

(−1)c·xi|c

|c7 |c6 |c5 |c4 |c3 |c2 |c1 |0 |0 |0 |0 |0 |0

H H H H H H H

H H H H H H H |c7 |c6 |c5 |c4 |c3 |c2 |c1 |s1 |s2      bit–flips |s3 |s4 |s5      sign–flips |s6

Markus Grassl – 53– 24.07.2018

slide-25
SLIDE 25

Quantum Error-Correcting Codes LAWCI

Stabilizer Codes

Observables C is a common eigenspace of the stabilizer group S

  • decomp. into

common eigenspaces                  E1 E2 Ei E2n-k−1 the orthogonal spaces are labeled by the eigenvalues = ⇒ operations that change the eigenvalues can be detected

Markus Grassl – 54– 24.07.2018

slide-26
SLIDE 26

Quantum Error-Correcting Codes LAWCI

Stabilizer Codes

Representation Theory C is an eigenspace of S w.r.t. some irred. character χ1

  • decomp. into
  • irred. components

                 χ1 χ2 χi χ2n-k−1 the orthogonal spaces are labeled by the character (values) = ⇒ operations that change the character (value) can be detected

Markus Grassl – 55– 24.07.2018

slide-27
SLIDE 27

Quantum Error-Correcting Codes LAWCI

The Stabilizer of a Quantum Code

Pauli group: Gn =

  • ± E1 ⊗ . . . ⊗ En : Ei ∈ {I, X, Y, Z}
  • Let C ≤ C2n be a quantum code.

The stabilizer of C is defined to be the set S =

  • M ∈ Gn : M|v = |v for all |v ∈ C
  • .

S is an abelian (commutative) group!

Markus Grassl – 56– 24.07.2018

slide-28
SLIDE 28

Quantum Error-Correcting Codes LAWCI

The Stabilizer of the Repetition Code

Repetition code: Recall that C is the two-dimensional code spanned by |0 = |000 |1 = |111 What is the stabilizer of C? S = {III, ZZI, ZIZ, IZZ}.

Markus Grassl – 57– 24.07.2018

slide-29
SLIDE 29

Quantum Error-Correcting Codes LAWCI

Stabilizer Codes

Let C be a quantum code with stabilizer S. The code C is called a stabilizer code if and only if M|v = |v for all M ∈ S implies that |v ∈ C. In this case C is the joint +1-eigenspace of all M ∈ S. Example: The repetition code is a stabilizer code.

Markus Grassl – 58– 24.07.2018

slide-30
SLIDE 30

Quantum Error-Correcting Codes LAWCI

Errors in Stabilizer Codes

Important identity: ZX =

  • 1

−1 1 1

  • = −XZ.

For error operators in the Pauli group Gn (i. e. tensor products of I, X, Y, Z) there are two possibilities: either

  • they commute: EF = FE
  • or they anticommute: EF = −FE

Markus Grassl – 59– 24.07.2018

slide-31
SLIDE 31

Quantum Error-Correcting Codes LAWCI

Errors in Stabilizer Codes

Let S be the stabilizer of a quantum code C. Let PC be the projector onto C. If an error E anticommutes with some M ∈ S then E is detectable by C. Indeed, PCEPC = PCEMPC = −PCMEPC = −PCEPC. Hence PCEPC = 0, i. e. the spaces C and EC are orthogonal.

Markus Grassl – 60– 24.07.2018

slide-32
SLIDE 32

Quantum Error-Correcting Codes LAWCI

Errors: the Good, the Bad, and the Ugly

Let S be the stabilizer of a stabilizer code C. An error E is good if it does not affect the encoded information,

  • i. e., if E ∈ S.

An error E is bad if it is detectable, e. g., it anticommutes with some M ∈ S. An error E is ugly if it cannot be detected.

Markus Grassl – 61– 24.07.2018

slide-33
SLIDE 33

Quantum Error-Correcting Codes LAWCI

Examples of the Good, the Bad, and the Ugly

Let C the repetition code Good: Z ⊗ Z ⊗ I since Z ⊗ Z ⊗ I|111 = |111 Z ⊗ Z ⊗ I|000 = |000 Bad: X ⊗ I ⊗ I since X ⊗ I ⊗ I|111 = |011 X ⊗ I ⊗ I|000 = |100 Ugly: X ⊗ X ⊗ X since X ⊗ X ⊗ X|111 = |000

Markus Grassl – 62– 24.07.2018

slide-34
SLIDE 34

Quantum Error-Correcting Codes LAWCI

Error Correction Capabilities

Let C be a stabilizer code with stabilizer S. Let N(S) be the normalizer of S in Gn. This is the set of all matrices in G which commute with all of S. Clearly, we have S ≤ N(S). All errors outside N(S) can be detected. Good do not affect encoded information: x ∈ S Bad anticommute with an element in S: x / ∈ N(S) Ugly errors that cannot be detected: x ∈ N(S) \ S We need to find stabilizers such that the minimum weight of an element in N(S) \ S is as large as possible.

Markus Grassl – 63– 24.07.2018

slide-35
SLIDE 35

Quantum Error-Correcting Codes LAWCI

Error Correction Capabilities

Summary: Any two elements M1, M2 of S commute. Detectable errors anticommute with some M ∈ S. Task: Find a nice characterization of these properties. Notation: Denote by Xa where a = (a1, . . . , an) ∈ Fn

2 the

  • perator

Xa = Xa1 ⊗ Xa2 ⊗ . . . ⊗ Xan. For instance X110 = X ⊗ X ⊗ I. Hence, any operator in Gn is of the form ±XaZb for some a, b ∈ Fn

2.

Markus Grassl – 64– 24.07.2018

slide-36
SLIDE 36

Quantum Error-Correcting Codes LAWCI

Symplectic Geometry

Consider M1 = XaZb, M2 = XcZd. When do M1 and M2 commute? M1M2 = XaZbXcZd = (−1)b·cXa+cZb+d M2M1 = XcZdXaZb = (−1)a·dXa+cZb+d Hence, M1 and M2 commute iff a · d − b · c = 0 mod 2. Suppose that S is the stabilizer of a 2k-dimensional stabilizer code. Then |S| = 2n−k. S can be generated by n − k operators XaZb. Let H = (X|Z) be an (n − k) × 2n matrix over F2. This matrix is used to describe the stabilizer. The rows of H contain the vectors (a|b).

Markus Grassl – 65– 24.07.2018

slide-37
SLIDE 37

Quantum Error-Correcting Codes LAWCI

Short Description of a Stabilizer

Example: Let S = {III, ZZI, IZZ, ZIZ} Note that S is generated by ZZI and ZIZ. H = (X|Z) =

  • 1

1 1 1

  • (a|b) = (000|110) and (c|d) = (000|101) are orthogonal:

a · d − b · c = 000 · 101 + 110 · 000 = 0 In this case we also write (a|b) ⊥ (c|d) with respect to the symplectic inner product (a|b) ⋆ (c|d) := a · d − b · c.

Markus Grassl – 66– 24.07.2018

slide-38
SLIDE 38

Quantum Error-Correcting Codes LAWCI

Shor’s nine-qubit code

Hadamard basis: |+ =

1 √ 2(|0 + |1),

|− =

1 √ 2(|0 − |1)

Phase-flip code: |0 → | + ++, |1 → | − −−. Concatenation with bit-flip code gives: |0 →

1 √ 23 (|000 + |111)(|000 + |111)(|000 + |111)

|1 →

1 √ 23 (|000 − |111)(|000 − |111)(|000 − |111)

This code can correct one error, i. e., it is a [ [9, 1, 3] ]2.

Markus Grassl – 67– 24.07.2018

slide-39
SLIDE 39

Quantum Error-Correcting Codes LAWCI

Stabilizer for the nine-qubit code

                  Z Z · · · · · · · Z · Z · · · · · · · · · Z Z · · · · · · · Z · Z · · · · · · · · · Z Z · · · · · · · Z · Z X X X X X X · · · X X X · · · X X X                   Generates an abelian subgroup of G9. This generating system of eight generators is minimal. Each generator divides the space by 2. Hence we obtain a [ [9, 1, 3] ]2 quantum code.

Markus Grassl – 68– 24.07.2018

slide-40
SLIDE 40

Quantum Error-Correcting Codes LAWCI

The Five Qubit Code

Stabilizer: S = Y ZZY I, IY ZZY, Y IY ZZ, ZY IY Z (X|Z) matrix given by (recall: X = (1, 0), Y = (1, 1), Z = (0, 1)): H =        1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1       

C = [ [5, 1, 3] ]2

shortest qubit code which encodes one qubit and can correct one error

Markus Grassl – 69– 24.07.2018

slide-41
SLIDE 41

Quantum Error-Correcting Codes LAWCI

Example: CSS-Code C = [ [7, 1, 3] ]2

Here H = (X|Z) is of a special form: H =              1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1             

  • Can be applied for (binary) codes C⊥

2 ⊆ C1. If C1 = [n, k1, d1] and

C2 = [n, k2, d2], this gives a QECC [ [n, k1 + k2 − n, min(d1, d2)] ].

  • Has been used to derive asymptotic good codes (explicitly).
  • CSS codes have nice properties for fault-tolerant computing.

Markus Grassl – 70– 24.07.2018

slide-42
SLIDE 42

Quantum Error-Correcting Codes LAWCI

Bounds

Quantum Hamming Bound: Set of vectors obtained by applying each error to each basis vector has to be linear independent. The subspace they span has to fit into the Hilbert space of n qubits. For a purea QECC [ [n, k, 2t + 1] ]2 this implies: 2n ≥ 2k

t

  • i=0

(22 − 1)i n i

  • Quantum Singleton Bound/Knill–Laflamme Bound: For all quantum codes

[ [n, k, d] ]q we have that n + 2 ≥ k + 2d. Codes which meet the bound are called quantum MDS codes. Conjecture: n ≤ q2 + 1 (or q2 + 2); d ≤ q + 1 (with few exceptions)

aall error-syndromes are different

Markus Grassl – 71– 24.07.2018

slide-43
SLIDE 43

Quantum Error-Correcting Codes LAWCI

Optimal Small Qubit-QECC

n/k 1 2 3 4 5 6 2 [ [2, 0, 2] ]2 3 [ [3, 0, 2] ]2 4 [ [4, 0, 2] ]2 [ [4, 1, 2] ]2 [ [4, 2, 2] ]2 5 [ [5, 0, 3] ]2 [ [5, 1, 3] ]2 [ [5, 2, 2] ]2 6 [ [6, 0, 4] ]2 [ [6, 1, 3] ]2 [ [6, 2, 2] ]2 [ [6, 3, 2] ]2 [ [6, 4, 2] ]2 7 [ [7, 0, 3] ]2 [ [7, 1, 3] ]2 [ [7, 2, 2] ]2 [ [7, 3, 2] ]2 [ [7, 4, 2] ]2 8 [ [8, 0, 4] ]2 [ [8, 1, 3] ]2 [ [8, 2, 3] ]2 [ [8, 3, 3] ]2 [ [8, 4, 2] ]2 [ [8, 5, 2] ]2 [ [8, 6, 2] ]2 9 [ [9, 0, 4] ]2 [ [9, 1, 3] ]2 [ [9, 2, 3] ]2 [ [9, 3, 3] ]2 [ [9, 4, 2] ]2 [ [9, 5, 2] ]2 [ [9, 6, 2] ]2 [ [n, k, d] ]2 means n is minimal for fixed (k, d). [ [n, k, d] ]2 means d is maximal for fixed (n, k). For more tables see http://www.codetables.de

Markus Grassl – 72– 24.07.2018

slide-44
SLIDE 44

Quantum Error-Correcting Codes LAWCI

Quantum Stabilizer Codes

[Gottesman, PRA 54 (1996); Calderbank, Rains, Shor, & Sloane, IEEE-IT 44 (1998)]

Basic Idea Decomposition of the complex vector space into eigenspaces of operators. Error Basis for Qudits

[A. Ashikhmin & E. Knill, Nonbinary quantum stabilizer codes, IEEE-IT 47 (2001)] E = {XαZβ : α, β ∈ Fq}, where (you may think of Cq ∼ = C[Fq]) Xα =

  • x∈Fq

|x + αx| for α ∈ Fq and Zβ =

  • z∈Fq

ωtr(βz)|zz| for β ∈ Fq (ω = ωp = exp(2πi/p))

Markus Grassl – 73– 24.07.2018

slide-45
SLIDE 45

Quantum Error-Correcting Codes LAWCI

Stabilizer Codes

common eigenspace of an Abelian subgroup S of the group Gn with elements ωγ(Xα1Zβ1) ⊗ (Xα2Zβ2) ⊗ . . . ⊗ (XαnZβn) =: ωγXαZβ, where α, β ∈ Fn

q , γ ∈ Fp.

quotient group: Gn := Gn/ωI ∼ = (Fq × Fq)n ∼ = Fn

q × Fn q

S Abelian subgroup ⇐ ⇒ (α, β) ⋆ (α′, β′) = 0 for all ωγ(XαZβ), ωγ′(Xα′Zβ′) ∈ S, where ⋆ is a symplectic inner product on Fn

q × Fn q .

Stabilizer codes correspond to symplectic codes over Fn

q × Fn q .

Markus Grassl – 74– 24.07.2018

slide-46
SLIDE 46

Quantum Error-Correcting Codes LAWCI

Symplectic Codes

most general: additive codes C ⊂ Fn

q × Fn q that are self-orthogonal with respect to

(v, w) ⋆ (v′, w′) := tr(v · w′ − v′ · w) = tr(

n

  • i=1

viw′

i − v′ iwi)

special cases: Fq-linear codes C ⊂ Fn

q × Fn q that are self-orthogonal with respect to

(v, w) ⋆ (v′, w′) := v · w′ − v′ · w =

n

  • i=1

viw′

i − v′ iwi

Fq2-linear Hermitian codes C ⊂ Fn

q2 that are self-orthogonal with respect to

x ⋆ y :=

n

  • i=1

xq

i yi

Markus Grassl – 75– 24.07.2018

slide-47
SLIDE 47

Quantum Error-Correcting Codes LAWCI

Quantum Codes from Classical Codes

Hermitian self-orthogonal code linear code C = [n, k, d′]q2 ≤ Fn

q2 that is self-orthogonal with respect to the

Hermitian inner product x ⋆ y :=

n

  • i=1

xq

i yi,

  • i. e., C ≤ C⋆ = {x ∈ Fn

q2 | ∀y ∈ C : x ⋆ y = 0}

Theorem: (Hermitian construction) Let C = [n, k, d′]q2 be a Hermitian self-orthogonal code and let d := min{wgt(c): c ∈ C⋆ \ C} ≥ dmin(C⋆). Then there exists a quantum code C = [ [n, n − 2k, d] ]q.

[Ketkar et al., Nonbinary stabilizer codes over finite fields, IEEE-IT 52, pp. 4892–4914 (2006)]

Markus Grassl – 76– 24.07.2018

slide-48
SLIDE 48

Quantum Error-Correcting Codes LAWCI

Shortening Quantum Codes

[E. Rains, Nonbinary Quantum Codes, IEEE-IT 45, pp. 1827–1832 (1999)]

  • shortening of classical codes: C = [n, k, d] → Cs = [n − 1, k − 1, d]
  • for stabilizer codes:

shortening C⋆ → C⋆

s =

⇒ puncturing C → Cp = ⇒ Cp ⊂ (Cp)⋆ = C⋆

s

General problem: How to turn a non-symplectic code into a symplectic one? Basic idea:

n

  • i=1

(viw′

i − v′ iwi)

= 0 for some (v, w), (v′, w′) ∈ C

Markus Grassl – 77– 24.07.2018

slide-49
SLIDE 49

Quantum Error-Correcting Codes LAWCI

Shortening Quantum Codes

[E. Rains, Nonbinary Quantum Codes, IEEE-IT 45, pp. 1827–1832 (1999)]

  • shortening of classical codes: C = [n, k, d] → Cs = [n − 1, k − 1, d]
  • for stabilizer codes:

shortening C⋆ → C⋆

s =

⇒ puncturing C → Cp = ⇒ Cp ⊂ (Cp)⋆ = C⋆

s

General problem: How to turn a non-symplectic code into a symplectic one? Basic idea: find (α1, α2, . . . , αn) ∈ Fn

q with n

  • i=1

(viw′

i − v′ iwi)αi = 0

for all (v, w), (v′, w′) ∈ C

Markus Grassl – 77– 24.07.2018

slide-50
SLIDE 50

Quantum Error-Correcting Codes LAWCI

Shortening Quantum Codes

puncture code of an Fq-linear code C over Fq × Fq: P(C) :=

  • {c, c′}: c, c′ ∈ C

⊥ ⊆ Fn

q

with the vector valued bilinear form {(v, w), (v′, w)} := (viw′

i − v′ iwi)n i=1 ∈ Fn q

α = (α1, α2, . . . , αn) ∈ P(C) ⇐ ⇒

n

  • i=1

(viw′

i − v′ iwi)αi = 0

for all (v, w), (v′, w′) ∈ C = ⇒ symplectic code C := {(v, (αiwi)n

i=1): (v, w) ∈ C}

Markus Grassl – 78– 24.07.2018

slide-51
SLIDE 51

Quantum Error-Correcting Codes LAWCI

Shortening Quantum Codes

α ∈ P(C) with wgt α = r:

  • delete the positions with αi = 0
  • ˜

Cp is still a symplectic code = ⇒ code ˜ C of length ˜ n = r with ˜ C ⊆ ˜ C⋆ Theorem: (Rains) Let C be a code over Fn

q × Fn q with C⋆ = (n, qn+k, d).

If α ∈ P(C) with wgt(α) = r, then there is a stabilizer code C = [ [r, ˜ k ≥ r − (n − k), ˜ d ≥ d] ]q. In particular: C = [ [n, k, d] ]q

α

→ ˜ C = [ [r, ˜ k ≥ r − (n − k), ˜ d ≥ d] ]q

Markus Grassl – 79– 24.07.2018

slide-52
SLIDE 52

Quantum Error-Correcting Codes LAWCI

The Easy Case: CSS-like Construction

[R¨

  • tteler, Grassl, and Beth, ISIT 2004]
  • start with a cyclic (constacyclic) MDS code C1 over Fq of length q + 1
  • in general, C⊥

1 ⊂ C1

  • compute P(C) for C = C⊥

1 × C⊥ 1 :

P(C) =

  • (cidi)n

i=1 : c, d ∈ C⊥ 1

  • αi, αj roots of the generator polynomial of C1

= ⇒ αi+j is a root of the generator polynomial of P(C)

  • P(C) is also a cyclic (constacyclic) MDS code which contains words of

“all” weights Quantum MDS codes C = [ [n, n − 2d + 2, d] ]q exist for all 3 ≤ n ≤ q + 1 and 1 ≤ d ≤ n/2 + 1.

Markus Grassl – 80– 24.07.2018

slide-53
SLIDE 53

Quantum Error-Correcting Codes LAWCI

The Harder Case: Hermitian-like Construction

  • start with a cyclic (constacyclic) MDS code C over Fq2 of length q2 + 1
  • in general, C is not a Hermitian self-orthogonal code
  • P(C) =
  • (cidq

i )n i=1 : c, d ∈ C

⊥ ∩ Fn

q

=

  • (cidq

i + cq i di)n i=1 : c, d ∈ C

  • C is the dual of a code whose generator polynomial has roots αi, αj

= ⇒ αi+qj is a root of the generator polynomial of P(C)

  • P(C) is also a cyclic (constacyclic) code, but in general no MDS code
  • known so far [Beth, Grassl, R¨
  • tteler], [Klappenecker et al.]

– QMDS codes exist for some n > q + 1 and d ≤ q + 1, including q2 − 1, q2, q2 + 1 – some other QMDS codes, e. g., derived from Reed-Muller codes

Markus Grassl – 81– 24.07.2018

slide-54
SLIDE 54

Quantum Error-Correcting Codes LAWCI

QMDS Codes: Computational Results q = 8

d ✻ n ✲

2 3 4 5 6 7 8 9 10 10 20 30 40 50 60 70

— quantum Singleton bound, — conjectured bound, ✷ direct construction, + via P(C)

Markus Grassl – 82– 24.07.2018

slide-55
SLIDE 55

Quantum Error-Correcting Codes LAWCI

Special Cases

[Grassl & R¨

  • tteler, Quantum MDS Codes over Small Fields, ISIT 2015, pp. 1104–1108]

Theorem: Our construction yields QMDS codes C = [ [q2 + 1, q2 + 3 − 2d, d] ]q for all 1 ≤ d ≤ q + 1 when q is odd, or when q is even and d is odd. Remark: Our construction does not yield a QMDS code [ [17, 11, 4] ]4, but QMDS codes [ [4m + 1, 4m + 3 − 2m+1, 2m] ]2m for (at least) m = 3, 4, 5, 6, 7. Theorem: For q = 2m, there exist QMDS codes C = [ [4m + 2, 4m − 4, 4] ]2m. Proof: (main idea, see [Grassl & R¨

  • tteler arXiv:1502.05267 [quant-ph]])

Use the triple-extended Reed-Solomon code and show that P(C) contains a word of weight q2 + 2.

Markus Grassl – 83– 24.07.2018

slide-56
SLIDE 56

Quantum Error-Correcting Codes LAWCI

QMDS of Distance Three

q2-ary simplex code C = [q2 + 1, 2, q2]q2 generated by G =   1 1 1 1 . . . 1 1 1 ω ω2 . . . ωq2−2   =   g0 g1   , where ω is a primitive element of GF(q2) Considered as Fq-linear code generated by {g0, g′

0 = αg0, g1, g′ 1 = αg1}

where α ∈ GF(q2) \ GF(q)

Markus Grassl – 84– 24.07.2018

slide-57
SLIDE 57

Quantum Error-Correcting Codes LAWCI

The Dual of the Puncture Code

P(C)⊥ =

  • gq+1

, g0 ◦ g1

q + gq 0 ◦ g1, g0 ◦ αqgq 1 + gq 0 ◦ αg1, gq+1 1

  • =
  • f 0,

f 1, f 2, f 3

  • ,

using v ◦ w = (v1w1, v2w2, . . . , vnwn) and vm = (vm

1 , vm 2 , . . . , vm n )

We have f0 = zq+1 f1 = xqz + xzq = homogenz(x + xq) = homogenz(tr(x)) f2 = αqxqz + αxzq = homogenz(αx + αqxq) = homogenz(tr(αx)) f3 = xq+1 Choosing α ∈ Fq2 \ Fq with −α2 = β1α + 1 for some β1 ∈ Fq yields f 2

1 + β1f1f2 + f 2 2 = (4 − β2 1)f0f3.

Markus Grassl – 85– 24.07.2018

slide-58
SLIDE 58

Quantum Error-Correcting Codes LAWCI

Ovoid Code

Lemma: The dual of the puncture code is an ovoid code, i. e. P(C)⊥ = [q2 + 1, 4, q2 − q]q. (see, e. g., Example TF3 in [Calderbank & Kantor, 1986]) This code is a two-weight code with weights q2 − q and q2. Ai =              1 for i = 0, (q3 + q)(q − 1) for i = q2 − q, (q2 + 1)(q − 1) for i = q2, else.

Markus Grassl – 86– 24.07.2018

slide-59
SLIDE 59

Quantum Error-Correcting Codes LAWCI

The Dual of the Ovoid Code

Problem: We need the non-zero weights of the puncture code P(C). The homogenized weight enumerator of P(C)⊥ is WP (C)⊥ = Xq2+1 + (q3 + q)(q − 1)Xq+1Y q2−q + (q2 + 1)(q − 1)XY q2 MacWilliams transformation yields WP (C)(X, Y ) = q−4 WP (C)⊥(X + (q − 1)Y, X − Y ) =

q2+1

  • i=0

BiXq2+1−iY i Conjecture: For q > 2, the code P(C) contains words of all weights w = 4, . . . , q2 + 1, i. e., Bi > 0. Confirmed for the first 50 prime powers as well as for small weights.

Markus Grassl – 87– 24.07.2018

slide-60
SLIDE 60

Quantum Error-Correcting Codes LAWCI

Geometric Proof

THANKS to Aart Blokhuis at ALCOMA 2010 Main idea: Show that we can find a linear combination of exactly w points of the ovoid that is zero, corresponding to a word of weight w in the dual code.

  • Choose 5 points Q0, . . . , Q4 of the ovoid O in a plane P (for q ≥ 4).
  • Choose 2 points P1 and P2 of the ovoid outside of the plane.
  • Any point in the plane can be expressed as linear combination of exactly 4

points Qi.

  • Choose m = w − 4 other points and consider their sum S.

– If S ∈ P, use exactly 4 other points Qi to get zero. – Otherwise, consider the intersection of P with the line through S and P1 (or P2 if S = P1). Use exactly 3 other points Qi to get zero.

Markus Grassl – 88– 24.07.2018