quantum error-correcting codes: discrete math meets physics · 2018. 7. 24. · we denote the...

60
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 [email protected] www.codetables.de Markus Grassl – 1– 24.07.2018

Upload: others

Post on 26-Jan-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

  • 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

    [email protected]

    www.codetables.de

    Markus Grassl – 1– 24.07.2018

  • Quantum Error-Correcting Codes LAWCI

    Simple Quantum Error-Correcting Code

    Repetition code: |0〉 7→ |000〉, |1〉 7→ |111〉

    Encoding of one qubit:

    α|0〉+ β|1〉 7→ α|000〉+ β|111〉.

    This defines a two-dimensional subspace HC ≤ H2 ⊗H2 ⊗H2

    bit-flip quantum state subspace

    no error α|000〉+ β|111〉 (1⊗ 1⊗ 1)HC1st position α|100〉+ β|011〉 (X ⊗ 1⊗ 1)HC2nd position α|010〉+ β|101〉 (1⊗X ⊗ 1)HC3rd position α|001〉+ β|110〉 (1⊗ 1⊗X)HC

    Hence we have an orthogonal decomposition of H2 ⊗H2 ⊗H2

    Markus Grassl – 27– 24.07.2018

  • Quantum Error-Correcting Codes LAWCI

    Simple Quantum Error-Correcting Code

    |ψ〉|0〉|0〉

    sg

    s

    g

    encoding

    |0〉|0〉

    s

    ggsg

    s

    g

    s

    gsyndrome computation measurement

    ��q�����qAK

    |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

  • Quantum Error-Correcting Codes LAWCI

    Linearity of Syndrome Computation

    Different Errors:

    Error X ⊗ I ⊗ I syndrome 10Error 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) 7→ |ψenc〉(α|10〉+ β|01〉)

    Markus Grassl – 33– 24.07.2018

  • Quantum Error-Correcting Codes LAWCI

    Shor’s Nine-Qubit Code

    Hadamard basis:

    |+〉 = 1√2(|0〉+ |1〉), |−〉 = 1√

    2(|0〉 − |1〉)

    Bit-flip code: |0〉 7→ |000〉, |1〉 7→ |111〉.Phase-flip code: |0〉 7→ |+++〉, |1〉 7→ | − −−〉.

    Concatenation with bit-flip code gives:

    |0〉 7→ 1√23(|000〉+ |111〉)(|000〉+ |111〉)(|000〉+ |111〉)

    |1〉 7→ 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

  • Quantum Error-Correcting Codes LAWCI

    Shor’s Nine-Qubit Code

    Bit-flip code: |0〉 7→ |000〉, |1〉 7→ |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

  • 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 6= 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〉

    6

    |cj〉 errors=⇒

    -XXXXXz��

    �1

    66

    ������

    BBBM

    Eℓ|cj〉

    Eℓ|ci〉

    Ek|cj〉

    Ek|ci〉α

    α

    Markus Grassl – 36– 24.07.2018

  • 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

  • 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 fori 6= j

    〈ci|E†kEl|cj〉 = δi,jαk,l (1)

    Markus Grassl – 38– 24.07.2018

  • 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 fori 6= 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

  • 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 fori 6= 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

  • 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

    orthogonal

    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

  • Quantum Error-Correcting Codes LAWCI

    CSS Prelims: Linear Binary Codes

    Generator matrix:

    C = [n, k, d]2 is a k-dim. subspace of Fn2

    =⇒ basis with k (row) vectors, G ∈ Fk×n2C = {iG : i ∈ Fk2}

    Parity check matrix:

    C = [n, k, d]2 is a k-dim. subspace of Fn2

    =⇒ kernel of n− k homogeneous linear equations, H ∈ F(n−k)×n2C = {v : v ∈ Fn2 |vHt = 0}

    Error syndrome:

    erroneous codeword v = c+ e

    =⇒ error syndrome vHt = cHt + eHt = eHt

    Markus Grassl – 42– 24.07.2018

  • Quantum Error-Correcting Codes LAWCI

    CSS Prelims: Dual of a Classical Code

    Let C ≤ Fn2 be a linear code. Then

    C⊥ :=

    {y ∈ Fn2 :

    n∑

    i=1

    xiyi = 0 for all x ∈ C}

    We denote the scalar product by x · y :=∑ni=1 xiyi.

    Lemma: Let C be a linear binary code. Then

    c∈C(−1)x·c =

    |C| for x ∈ C⊥,0 for x /∈ C⊥.

    Markus Grassl – 43– 24.07.2018

  • Quantum Error-Correcting Codes LAWCI

    Bit-flips and Phase-flips

    Let C ≤ Fn2 be a linear code. Then the image of the state1√|C|

    c∈C|c〉

    under a bit-flip x ∈ Fn2 and a phase-flip z ∈ Fn2 is given by1√|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

  • Quantum Error-Correcting Codes LAWCI

    Proof:

    Hadamard transform H⊗n =1√2n

    a,b∈Fn2

    (−1)a·b|b〉〈a|

    H⊗n(

    1√|C|

    c∈C(−1)z·c|c+ x〉

    )=

    1√|C|2n

    a,b∈Fn2

    c∈C(−1)z·c+a·b|b〉〈a|c+ x〉

    =1√|C|2n

    b∈Fn2

    c∈C(−1)z·c+(c+x)·b|b〉

    =1√|C|2n

    b∈Fn2

    (−1)x·b∑

    c∈C(−1)c·(b+z)|b〉

    =1√|C|2n

    b∈Fn2

    (−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

  • 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 cosetsC1/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 codewith parameters [[n, k1 + k2 − n, d]]q where d ≥ min(d1, d2).

    Markus Grassl – 46– 24.07.2018

  • 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 thesyndrome.

    Markus Grassl – 47– 24.07.2018

  • Quantum Error-Correcting Codes LAWCI

    CSS Codes — how they work

    Let H1 be the parity check matrix of C1, i. e., xHt1 = 0 for all x ∈ C1.

    1√|C⊥2 |

    y∈C⊥2

    |xi + y + b〉|(xi + y + b)Ht1〉 =1√|C⊥2 |

    y∈C⊥2

    |xi + y + b〉|bHt1〉

    Then measure the ancilla to obtain s = bHt1. 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

  • Quantum Error-Correcting Codes LAWCI

    Encoding

    Classical code

    information 7−→ codeword

    i = (i1, i2, . . . , ik) 7−→ i ·G =k∑

    j=1

    ijgj

    Quantum code

    information 7−→ cosets of the code C⊥2 in C1

    |i〉 = |i1, i2, . . . , ik〉 7−→∑

    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

  • Quantum Error-Correcting Codes LAWCI

    Example: Seven Qubit Code

    Given the dual C of the binary Hamming code, with generator matrix

    G =

    0 0 1 0 1 1 1

    0 1 0 1 1 1 0

    1 0 0 1 0 1 1

    ,

    then C is a [7, 3, 4] and C ≤ C⊥. The dual code C⊥ is a [7, 4, 3] and hasgenerator matrix

    G′ =

    0 0 0 1 1 0 1

    0 0 1 0 1 1 1

    0 1 0 1 1 1 0

    1 0 0 1 0 1 1

    Markus Grassl – 50– 24.07.2018

  • Quantum Error-Correcting Codes LAWCI

    G t =

    0 0 0 1

    0 0 1 0

    0 1 0 0

    1 0 1 1

    1 1 1 0

    0 1 1 1

    1 1 0 1

    |0〉

    |0〉

    |0〉

    |ψ〉

    |0〉

    |0〉

    |0〉

    H

    H

    H

    •i

    i

    iii

    iii

    i

    ii |c7〉

    |c6〉

    |c5〉

    |c4〉

    |c3〉

    |c2〉

    |c1〉

    α|0〉+ β|1〉 7→ α 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

  • Quantum Error-Correcting Codes LAWCI

    Computation of an Error Syndrome

    Classical code:

    received vector 7−→ syndrome

    r = (r1, r2, . . . , rk) 7−→ r ·Ht =n−k∑

    j=1

    rjhj = (c+ e) ·Ht = e ·Ht

    Quantum code:

    quantum state 7−→ quantum state⊗ syndrome∑

    c∈C⊥2|c+xi+e〉

    7−→∑

    c∈C⊥2

    |c+ xi + e〉 ⊗ |(c+ xi + e) · H̃t〉

    =

    c∈C⊥2

    |c+ xi + e〉

    ⊗ |e · H̃t〉

    H̃ is a parity check matrix of C1

    Markus Grassl – 52– 24.07.2018

  • 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〉

    d

    d

    d•

    d

    d

    d

    d

    d

    d

    d

    d

    d

    H

    H

    H

    H

    H

    H

    H

    d

    d

    d

    d

    d

    d

    d

    d

    d

    d

    d

    d

    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

  • 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

  • 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

  • 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

  • Quantum Error-Correcting Codes LAWCI

    The Stabilizer of the Repetition Code

    Repetition code: Recall that C is the two-dimensional codespanned by

    |0〉 = |000〉|1〉 = |111〉

    What is the stabilizer of C?

    S = {III, ZZI, ZIZ, IZZ}.

    Markus Grassl – 57– 24.07.2018

  • 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

  • Quantum Error-Correcting Codes LAWCI

    Errors in Stabilizer Codes

    Important identity:

    ZX =

    (1 0

    0 −1

    )(0 1

    1 0

    )= −XZ.

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

    • they commute: EF = FE

    • or they anticommute: EF = −FE

    Markus Grassl – 59– 24.07.2018

  • Quantum Error-Correcting Codes LAWCI

    Errors in Stabilizer Codes

    Let S be the stabilizer of a quantum code C. Let PC be theprojector onto C.

    If an error E anticommutes with some M ∈ S then E is detectableby C.

    Indeed,

    PCEPC = PCEMPC = −PCMEPC = −PCEPC.

    Hence PCEPC = 0, i. e. the spaces C and EC are orthogonal.

    Markus Grassl – 60– 24.07.2018

  • 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

  • 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

  • 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 allmatrices in G which commute with all of S. Clearly, we haveS ≤ N(S).All errors outside N(S) can be detected.

    Good do not affect encoded information: x ∈ SBad anticommute with an element in S: x /∈ N(S)Ugly errors that cannot be detected: x ∈ N(S) \ SWe 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

  • 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) ∈ Fn2 theoperator

    Xa = Xa1 ⊗Xa2 ⊗ . . .⊗Xan .

    For instance X110 = X ⊗X ⊗ I.Hence, any operator in Gn is of the form ±XaZb for somea, b ∈ Fn2 .

    Markus Grassl – 64– 24.07.2018

  • Quantum Error-Correcting Codes LAWCI

    Symplectic Geometry

    Consider M1 = XaZb, M2 = X

    cZd. When do M1 and M2commute?

    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 isused to describe the stabilizer. The rows of H contain the vectors

    (a|b).Markus Grassl – 65– 24.07.2018

  • 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) =(

    0 0 0 1 1 0

    0 0 0 1 0 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 thesymplectic inner product (a|b) ⋆ (c|d) := a · d− b · c.

    Markus Grassl – 66– 24.07.2018

  • Quantum Error-Correcting Codes LAWCI

    Shor’s nine-qubit code

    Hadamard basis:

    |+〉 = 1√2(|0〉+ |1〉), |−〉 = 1√

    2(|0〉 − |1〉)

    Phase-flip code: |0〉 7→ |+++〉, |1〉 7→ | − −−〉.

    Concatenation with bit-flip code gives:

    |0〉 7→ 1√23(|000〉+ |111〉)(|000〉+ |111〉)(|000〉+ |111〉)

    |1〉 7→ 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

  • Quantum Error-Correcting Codes LAWCI

    Stabilizer for the nine-qubit code

    Z Z · · · · · · ·Z · Z · · · · · ·· · · Z Z · · · ·· · · Z · Z · · ·· · · · · · Z Z ·· · · · · · Z · ZX X X X X X · · ·X X X · · · X X X

    Generates an abelian subgroup of G9. This generating system of eightgenerators 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

  • 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 0 0 1 0 1 1 1 1 0

    0 1 0 0 1 0 1 1 1 1

    1 0 1 0 0 1 0 1 1 1

    0 1 0 1 0 1 1 0 1 1

    C = [[5, 1, 3]]2shortest qubit code which encodes one qubit and can correct one error

    Markus Grassl – 69– 24.07.2018

  • Quantum Error-Correcting Codes LAWCI

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

    Here H = (X|Z) is of a special form:

    H =

    1 0 0 1 0 1 1

    0 1 0 1 1 1 0

    0 0 1 0 1 1 1

    1 0 0 1 0 1 1

    0 1 0 1 1 1 0

    0 0 1 0 1 1 1

    • Can be applied for (binary) codes C⊥2 ⊆ C1. If C1 = [n, k1, d1] andC2 = [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

  • 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 ≥ 2kt∑

    i=0

    (22 − 1)i(ni

    )

    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

  • Quantum Error-Correcting Codes LAWCI

    Optimal Small Qubit-QECC

    n/k 0 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

  • 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)|z〉〈z| for β ∈ Fq (ω = ωp = exp(2πi/p))

    Markus Grassl – 73– 24.07.2018

  • 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 α,β ∈ Fnq , γ ∈ Fp.

    quotient group:

    Gn := Gn/〈ωI〉 ∼= (Fq × Fq)n ∼= Fnq × Fnq

    S Abelian subgroup⇐⇒ (α,β) ⋆ (α′,β′) = 0 for all ωγ(XαZβ), ωγ′(Xα′Zβ′) ∈ S,

    where ⋆ is a symplectic inner product on Fnq × Fnq .

    Stabilizer codes correspond to symplectic codes over Fnq × Fnq .

    Markus Grassl – 74– 24.07.2018

  • Quantum Error-Correcting Codes LAWCI

    Symplectic Codes

    most general:

    additive codes C ⊂ Fnq × Fnq 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 ⊂ Fnq × Fnq 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 ⊂ Fnq2 that are self-orthogonal with respect to

    x ⋆ y :=

    n∑

    i=1

    xqi yi

    Markus Grassl – 75– 24.07.2018

  • Quantum Error-Correcting Codes LAWCI

    Quantum Codes from Classical Codes

    Hermitian self-orthogonal code

    linear code C = [n, k, d′]q2 ≤ Fnq2 that is self-orthogonal with respect to theHermitian inner product

    x ⋆ y :=n∑

    i=1

    xqi yi,

    i. e., C ≤ C⋆ = {x ∈ Fnq2 | ∀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

  • 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 6⊂ (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) 6= 0 for some (v,w), (v′,w′) ∈ C

    Markus Grassl – 77– 24.07.2018

  • 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 6⊂ (Cp)⋆ = C⋆s

    General problem:

    How to turn a non-symplectic code into a symplectic one?

    Basic idea: find (α1, α2, . . . , αn) ∈ Fnq withn∑

    i=1

    (viw′i − v′iwi)αi = 0 for all (v,w), (v′,w′) ∈ C

    Markus Grassl – 77– 24.07.2018

  • 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

    〉⊥⊆ Fnq

    with the vector valued bilinear form

    {(v,w), (v′,w)} := (viw′i − v′iwi)ni=1 ∈ Fnq

    α = (α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)ni=1) : (v,w) ∈ C}

    Markus Grassl – 78– 24.07.2018

  • Quantum Error-Correcting Codes LAWCI

    Shortening Quantum Codes

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

    • delete the positions with αi = 0

    • C̃p is still a symplectic code

    =⇒ code C̃ of length ñ = r with C̃ ⊆ C̃⋆

    Theorem: (Rains)

    Let C be a code over Fnq × Fnq with C⋆ = (n, qn+k, d).If α ∈ P (C) with wgt(α) = r, then there is a stabilizer codeC = [[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

  • 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 6⊂ C1• compute P (C) for C = C⊥1 × C⊥1 :

    P (C) =〈(cidi)

    ni=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 and1 ≤ d ≤ n/2 + 1.

    Markus Grassl – 80– 24.07.2018

  • 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) =〈(cid

    qi )ni=1 : c,d ∈ C

    〉⊥∩ Fnq

    =〈(cid

    qi + c

    qi di)

    ni=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

  • Quantum Error-Correcting Codes LAWCI

    QMDS Codes: Computational Results q = 8

    d6

    n-

    2

    3

    4

    5

    6

    7

    8

    9

    10

    0 10 20 30 40 50 60 70

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

    Markus Grassl – 82– 24.07.2018

  • 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]]qfor 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

  • Quantum Error-Correcting Codes LAWCI

    QMDS of Distance Three

    q2-ary simplex code C = [q2 + 1, 2, q2]q2 generated by

    G =

    1 0 1 1 1 . . . 1

    0 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

  • Quantum Error-Correcting Codes LAWCI

    The Dual of the Puncture Code

    P (C)⊥ =〈gq+10 , g0 ◦ g1q + gq0 ◦ g1, g0 ◦ αqgq1 + gq0 ◦ αg1, gq+11

    =〈f0, f1, f2, f3

    〉,

    using v ◦w = (v1w1, v2w2, . . . , vnwn) and vm = (vm1 , vm2 , . . . , vmn )We have

    f0 = zq+1

    f1 = xqz + xzq = homogenz(x+ x

    q) = 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

    f21 + β1f1f2 + f22 = (4− β21)f0f3.

    Markus Grassl – 85– 24.07.2018

  • 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,0 else.

    Markus Grassl – 86– 24.07.2018

  • 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−4WP (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

  • 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 4points 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 andP1 (or P2 if S = P1). Use exactly 3 other points Qi to get zero.

    Markus Grassl – 88– 24.07.2018