<<

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– 23.07.2018 Quantum Error-Correcting Codes LAWCI Classical &

Classical information often represented by a finite alphabet, e.g., bits 0 and 1

Quantum-bit () basis states: 1 0 “0” ˆ= 0 = C2, “1” ˆ= 1 = C2 | 0 ∈ | 1 ∈

general pure state: ψ = α 0 + β 1 where α, β C, α 2 + β 2 = 1 | | | ∈ | | | | measurement (read-out): result “0” with probability α 2 | | result “1” with probability β 2 | |

Markus Grassl – 2– 23.07.2018 Quantum Error-Correcting Codes LAWCI Classical & Quantum Information

Bit strings larger set of messages represented by bit strings of length n, i.e., x 0, 1 n ∈ { } Quantum register basis states:

b ... bn =: b ...bn = b where bi 0, 1 | 1⊗ ⊗| | 1 | ∈ { } general pure state:

2 ψ = cx x where cx = 1 | | n | | x 0,1 n x 0,1 ∈{} ∈{ } 2 n 2n normalised vector in (C )⊗ = C −→ ∼

Markus Grassl – 3– 23.07.2018 Quantum Error-Correcting Codes LAWCI Classical & Quantum Information

Larger alphabet messages represented as vectors over a finite field, i.e., x Fn ∈ q Qudit register basis states:

b ... bn =: b ...bn = b where bi Fq | 1⊗ ⊗| | 1 | ∈ general pure state:

2 ψ = cx x where cx = 1 | | Fn | | x Fn x q ∈ q ∈ q n qn n normalised vector in (C )⊗ = C = C[F ] −→ ∼ ∼ q (isomorphic as vector spaces)

Markus Grassl – 4– 23.07.2018 Quantum Error-Correcting Codes LAWCI Bra-Ket Notation

column vectors denoted by x “ket x” • | elements of the dual (row vectors) denoted by y “bra y” • | q

x = αi i | | i=1 q

x = αi i | | i=1 inner product x y “bra-c-ket” • | linear operators M = mi,j i j • i,j | | in particular: rank-one orthogonal projections P ψ = ψ ψ | | |

Markus Grassl – 5– 23.07.2018 Quantum Error-Correcting Codes LAWCI Quantum Operations

Continuous time: Schr¨odinger equation ∂ i~ ψ(t) = H(t) ψ(t) ∂t| |

iH(t t0) time-independent Hamiltonian H: ψ(t) = e − ψ(t ) | | 0 Discrete time: Unitary operations

ψ(t ) = U(t , t ) ψ(t ) | 1 1 0 | 0 composite systems, independent operation: U = U U • 1 ⊗ 2 single-qudit operations • U (1) = U I I ... ⊗ ⊗ ⊗ U (2) = I U I ... ⊗ ⊗ ⊗

Markus Grassl – 6– 23.07.2018 Quantum Error-Correcting Codes LAWCI Quantum Operations

CNOT on basis states: x y x x + y | | → | | Toffoli gate on basis states: x y z x y z + xy | | | → | | | Every reversible classical Boolean function can be decomposed into Toffoli • gates (plus constants). Every unitary operation U U(2n) can be decomposed into single qubit • ∈ gates and CNOT. U • • V T i i • W • i

Markus Grassl – 7– 23.07.2018 Quantum Error-Correcting Codes LAWCI Quantum Measurement

Physics textbook:

observable given by self-adjoint A = A∗ = A† • A real eigenvalues λi correspond to physical quantity • expectation value A = ψ A ψ from many repetitions with identically • | | prepared quantum states ψ | Quantum Information Processing:

spectral decomposition A = λiPi, with Pi orthogonal projection onto • i eigenspace i single-shot experiment, one random outcome i (“click”) • probability pi = ψ Pi ψ • | | 1 post-measurement state ψ′ = Pi ψ • | √pi |

Markus Grassl – 8– 23.07.2018 Quantum Error-Correcting Codes LAWCI Quantum Measurement: Examples

Single Qubit:

observable σz = diag(1, 1) = (+1) 0 0 +( 1) 1 1 • − | | − | | qubit state ψ = α 0 + β 1 where α, β C • | | | ∈ = outcome “0” or “1” with probability α 2 or β 2, resp. ⇒ | | | | Two : (1) observable σz = diag(1, 1) I = 0 0 I 1 1 I • − ⊗ | |⊗ −| |⊗ two-qubit state ψ = α 00 + β 01 + γ 10 + δ 11 • | | | | | = outcome “0” with probability α 2 + β 2 ⇒ | | | | 1 post-measurement state α 00 + β 01 α 2 + β 2 | | | | | |

Markus Grassl – 9– 23.07.2018 Quantum Error-Correcting Codes LAWCI

two-qubit state Ψ = 1 00 + 1 11 • | √2 | √2 | (1) measuring σz , i.e., the first qubit • = outcome “0” or “1” with probability 1/2 ⇒ post-measurement state • first outcome “0”: 00 | first outcome “1”: 11 | (2) measuring σz , i.e., the second qubit • = second outcome is identical to the first outome ⇒ Spooky action at a distance.

Markus Grassl – 10– 23.07.2018 Quantum Error-Correcting Codes LAWCI

General scheme environment no access s

system φ inter- action | entanglements decoherence ⇒

Markus Grassl – 11– 23.07.2018 Quantum Error-Correcting Codes LAWCI Quantum Error Correction

General scheme environment no access s system φ | s s encoding ancilla 0 interaction | encoding s three-partys entanglement

Markus Grassl – 12– 23.07.2018 Quantum Error-Correcting Codes LAWCI Quantum Error Correction

General scheme environment no access s s system φ | s s s code entanglement encoding ancilla 0 interaction | encoding s s s

syndrome ancilla 0 error correction | environment/ancillas

Markus Grassl – 13– 23.07.2018 Quantum Error-Correcting Codes LAWCI Quantum Error Correction

General scheme environment no access s s s system φ φ | s s s | encoding ancilla 0 0 interaction | encoding s s s decoding |

syndrome ancilla 0 error correction | s s

Markus Grassl – 14– 23.07.2018 Quantum Error-Correcting Codes LAWCI Quantum Error Correction

General scheme environment no access s s s system φ φ | s s s | encoding ancilla 0 0 interaction | encoding s s s decoding |

syndrome ancilla 0 error correction | s s Basic requirement some knowledge about the interaction between system and environment Common assumptions no initial entanglement between system and environment • local/uncorrelated errors, i.e., only a few qubits are disturbed • or interaction with symmetry (= decoherence free subspaces) ⇒

Markus Grassl – 15– 23.07.2018 Quantum Error-Correcting Codes LAWCI

Interaction System/Environment

“Closed” System environment ε | = U ε φ env/sys | |

system φ inter- action | “Channel”

Q: ρ := φ φ ρ := Q( φ φ ) := Eiρ E† in | | −→ out | | in i i with Kraus operators (error operators) Ei Local/low correlated errors

n product channel Q⊗ where Q is “close” to identity • Q can be expressed (approximated) with error operators E˜i such that each • E˜i acts on few subsystems, e.g. quantum gates

Markus Grassl – 16– 23.07.2018 Quantum Error-Correcting Codes LAWCI : Product Channel

Assumption: only local interactions, i.e., each subsystem interacts with a separate environment.

- - ψ1 subsystem 1 ψ˜ | | 1  3 QQs 3 QQs   ǫ - environment 1 - ǫ˜   | 1 | 1       - -   ψ2 subsystem 2 ψ˜   | 2   3 QQs 3 QQs |   - -  ψ ǫ  ǫ2 environment 2 ǫ˜2  ψ˜ ǫ˜ | ⊗|  | |  | ⊗|    .  .    - -   ψn subsystem n ψ˜   | n   3 QQs 3 QQs |   - -   ǫn environment n ǫ˜n   | |        Markus Grassl  – 17–  23.07.2018 Quantum Error-Correcting Codes LAWCI Computer Science Approach: Discretize

QECC Characterization [Knill & Laflamme, PRA 55, 900–911 (1997)]

A subspace of with orthonormal basis c ,..., cK is an C H {| 1 | } error-correcting code for the error operators = E , E ,... , if there E { 1 2 } exists constants αk,l C such that for all ci , cj and for all ∈ | | Ek, El : ∈E ci E†El cj = δi,jαk,l. (1) | k | It is sufficient that (1) holds for a vector space basis of . E

Markus Grassl – 18– 23.07.2018 Quantum Error-Correcting Codes LAWCI Linearity of Conditions

Assume that can correct the errors = E , E ,... . C E { 1 2 } New error-operators:

A := λkEk and B := lEl k l

ci A†B cj = λkl ci E†El cj | | | k | k,l = λklδi,jαk,l k,l = δi,j α′(A, B) It is sufficient to correct error operators that form a basis of the linear vector space spanned by the operators . E = only a finite set of errors. ⇒ Markus Grassl – 19– 23.07.2018 Quantum Error-Correcting Codes LAWCI Error Basis

Pauli Matrices

0 1 0 i 1 0 1 0 σx := , σy := − , σz := ,I := 1 0 i 0 0 1 0 1 − vector space basis of all 2 2 matrices • × unitary matrices which generate a finite • Error Basis for many Qubits/Qudits error basis for subsystem of dimension d with I E n ∈E = ⊗ error basis with elements ⇒ E

E := E ... En, Ei 1 ⊗ ⊗ ∈E

weight of E: number of factors Ei = I

Markus Grassl – 20– 23.07.2018 Quantum Error-Correcting Codes LAWCI Local Error Model

Code Parameters

= [[n,k,d]]q C q: dimension of each subsystem n: number of subsystems used in total k: number of (logical) subsystems encoded d: “minimum distance” – correct all errors acting on at most (d 1)/2 subsystems − – detect all errors acting on less than d subsystems – correct all errors acting on less than d subsystems at known positions

Markus Grassl – 21– 23.07.2018 Quantum Error-Correcting Codes LAWCI Repetition Code

classical: sender: repeats the information, e.g. 0 000, 1 111 → → receiver: compares received bits and makes majority decision

quantum mechanical “solution”: sender: copies the information, e.g. ψ = α 0 + β 1 ψ ψ ψ | | | → | | | receiver: compares and makes majority decision

but: unknown quantum states can neither be copied nor can they be disturbance-free compared

Markus Grassl – 22– 23.07.2018 Quantum Error-Correcting Codes LAWCI The No-Cloning Theorem

Theorem: Unknown quantum states cannot be copied.

Proof: The copier would map 0 ψin 0 0 , 1 ψin 1 1 , and | | → | | | | → | |

(α 0 + β 1 ) ψin α 0 0 + β 1 1 | | | → | | | | = (α 0 + β 1 ) (α 0 + β 1 ) | | ⊗ | | = α2 0 0 + β2 1 1 + αβ( 0 1 + 1 0 ) | | | | | | | |

Contradiction to the linearity of quantum mechanics!

Markus Grassl – 23– 23.07.2018 Quantum Error-Correcting Codes LAWCI Quantum Errors

Bit-flip error: Interchanges 0 and 1 . Corresponds to “classical” bit error. • | |  0 1  Given by NOT gate X =   •    1 0 

Phase-flip error: Inverts the relative phase of 0 and 1 . Has no classical analogue! • | |  1 0  Given by the Z =   •  0 1   − 

Combination:

 0 1  Combining bit-flip and phase-flip gives Y = − = XZ.   •    1 0 

Markus Grassl – 24– 23.07.2018 Quantum Error-Correcting Codes LAWCI Pauli and Hadamard matrices

Real “Pauli” matrices:

0 1 1 0 0 1 I,X =   , Z =   , Y = XZ =  −  1 0 0 1 1 0    −   

1 1 1 Hadamard matrix: H =   √2 1 1  − 

Important properties:

H†XH = Z, “H changes bit-flips to phase-flips” • 0 1 ZX =   = Y = XZ, “X and Z anticommute” • 1 0 − −  −  All errors either commute or anticommute! • Markus Grassl – 25– 23.07.2018 Quantum Error-Correcting Codes LAWCI The Basic Idea

Classicalcodes Quantumcodes Partition of the set of all words of length Orthogonal decomposition of the n 2 n over an alphabet of size 2. vector space ⊗ , where =C . H H∼

• ••• • E n-k • • •••  2 1 ••• • • • − • • •  • • •  • • ••• n  Ei • • ••• • • C2  •  •• •• •••• •  E1 • • •••  •  C    

codewords n • ⊗ = 1 ... 2n−k 1 errors of bounded weight H C ⊕ E ⊕ ⊕ E − • Encoding: x Uenc( x 0 ) other errors | → | | •

Markus Grassl – 26– 23.07.2018 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 2 2 2 HC ≤H ⊗H ⊗H

bit-flip 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 2 2 2 H ⊗H ⊗H

Markus Grassl – 27– 23.07.2018 Quantum Error-Correcting Codes LAWCI Simple Quantum Error-Correcting Code

Problem: What about phase-errors?

Phase-flip Z: 0 0 and 1 1 . | → | | → −| In the Hadamard basis + , given by | |− + = 1 ( 0 + 1 ), | √2 | | = 1 ( 0 1 ) |− √2 | − | the phase-flip operates like the bit-flip Z + = , Z = + . | |− |− | To correct phase errors we use repetition code and Hadamard basis:

0 (H H H) 1 ( 000 + 111 )= 1 ( 000 + 011 + 101 + 110 ) | → ⊗ ⊗ √2 | | 2 | | | | 1 (H H H) 1 ( 000 111 )= 1 ( 001 + 010 + 100 + 111 ) | → ⊗ ⊗ √2 | − | 2 | | | |

Markus Grassl – 28– 23.07.2018 Quantum Error-Correcting Codes LAWCI Simple Quantum Error-Correcting Code

phase-flip quantum state subspace no error α ( 000 + 011 + 101 + 110 ) (1 1 1) 2 | | | | ⊗ ⊗ HC + β ( 001 + 010 + 100 + 111 ) 2 | | | | 1st position α ( 000 + 011 − 101 − 110 ) (Z 1 1) 2 | | | | ⊗ ⊗ HC + β ( 001 + 010 − 100 − 111 ) 2 | | | | 2nd position α ( 000 − 011 + 101 − 110 ) (1 Z 1) 2 | | | | ⊗ ⊗ HC + β ( 001 − 010 + 100 − 111 ) 2 | | | | 3rd position α ( 000 − 011 − 101 + 110 ) (1 1 Z) 2 | | | | ⊗ ⊗ HC − β ( 001 + 010 + 100 − 111 ) 2 | | | |

We again obtain an orthogonal decomposition of 2 2 2 H ⊗H ⊗H

Markus Grassl – 29– 23.07.2018 Quantum Error-Correcting Codes LAWCI Simple Quantum Error-Correcting Code

ψ c | s s s | 1 0 c | g s | 2 0 c | g s s | 3 0 ¢¢ ¨ s1 | g g q 0 AK ¨ s2 | g g q encoding syndrome computation measurement

Error X I I gives syndrome s s = 10 ⊗ ⊗ 1 2 Error I X I gives syndrome s s = 01 ⊗ ⊗ 1 2 Error I I X gives syndrome s s = 11 ⊗ ⊗ 1 2

Markus Grassl – 30– 23.07.2018 Quantum Error-Correcting Codes LAWCI Simple Quantum Error-Correcting Code

ψ c | s s s g | 1 0 c | g s g | 2 0 c | g s s g | 3 0 s | g g s c s | 1 0 s | g g c s s | 2 encoding syndrome computation error correction

Coherent error correction by conditional unitary transformation. • Information about the error is contained in s and s . • | 1 | 2 To do it again, we need either “fresh” qubits which are again in the state • 0 or need to “cool” syndrome qubits to 0 . | |

Markus Grassl – 31– 23.07.2018 Quantum Error-Correcting Codes LAWCI Effect of a Single Qubit Error

0 1 Suppose an error corresponding to the bit-flip ( 1 0 ) happens.

ψ = α 0 + β 1 c | | | s s s f | 1 0 c | f s f | 2 0 c | f s s f | 3 0 s | f f s c s | 1 0 s | f f c s s | 2 encoding syndrome computation error correction

Encoder maps ψ to α 000 + β 111 = ψenc | | | | Error maps this to α 001 + β 110 | | Syndrome computation maps this to α 00111 + β 11011 | | Correction maps this to α 00011 + β 11111 = ψenc 11 | | | |

Markus Grassl – 32– 23.07.2018 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 ψ 10 )+ β(I X I ψ 01 ). ⊗ ⊗ | enc⊗ | ⊗ ⊗ | enc⊗| (error correction) ψ (α 10 + β 01 ) → | enc | |

Markus Grassl – 33– 23.07.2018 Quantum Error-Correcting Codes LAWCI

Encoding/Decoding: Overview

error correction

k n n syndrome n error n k = encode = channel = = = encode-1 = ⇒ ⇒ ⇒ comput. ⇒ corr. ⇒ ⇒

n k n − syndrome = error ⇒

k QECC [[n, k]]q with length n and dimension q

Markus Grassl – 34– 23.07.2018 Quantum Error-Correcting Codes LAWCI Shor’s Nine-Qubit Code

Hadamard basis: + = 1 ( 0 + 1 ), = 1 ( 0 1 ) | √2 | | |− √2 | −|

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

0 1 ( 000 + 111 )( 000 + 111 )( 000 + 111 ) | → √23 | | | | | | 1 1 ( 000 111 )( 000 111 )( 000 111 ) | → √23 | − | | − | | − |

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

Markus Grassl – 35– 23.07.2018 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 | | “encoded” Z-operator Z 111 = 111  | −|  = can be corrected by the second level of encoding ⇒

Markus Grassl – 36– 23.07.2018 Quantum Error-Correcting Codes LAWCI Knill-Laflamme Conditions Revisited

code with ONB ci , channel with Kraus operators Ek • {| } { } conditions: • (i) ci E†Eℓ cj = 0 for i = j | k | (ii) ci E†Eℓ ci = cj E†Eℓ cj = αkl | k | | k | interpretation: • (i) orthogonal states remain orthogonal under errors (ii) errors “rotate” all basis states the same way

6 6 Eℓ|cj £ errors £ |cj =⇒ Ek|cj BM £ Bα £ 1 Ek|ci - B£ α - XX |ci XXXz Eℓ|ci

Markus Grassl – 37– 23.07.2018 Quantum Error-Correcting Codes LAWCI General Decoding Algorithm

E E Ek 1C 2C C E c E c Ek c V0 1| 0 2| 0 | 0 E c E c Ek c V1 1| 1 2| 1 | 1 ......

i E ci E ci Ek ci V 1| 2| | ......

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

Markus Grassl – 38– 23.07.2018 Quantum Error-Correcting Codes LAWCI General Decoding Algorithm

E E Ek 1C 2C C E c E c Ek c V0 1| 0 2| 0 | 0 E c E c Ek c V1 1| 1 2| 1 | 1 . . . . . rows are orthogonal as ...... ci E†El cj = 0 for | k | i E1 ci E2 ci Ek ci i = j V | | | . . . . . ......

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

Markus Grassl – 39– 23.07.2018 Quantum Error-Correcting Codes LAWCI General Decoding Algorithm

E E Ek 1C 2C C E c E c Ek c V0 1| 0 2| 0 | 0 E c E c Ek c V1 1| 1 2| 1 | 1 . . . . . rows are orthogonal as ...... ci E†El cj = 0 for | k | i E1 ci E2 ci Ek ci i = j V | | | . . . . . ...... inner product between columns is constant as

ci E†El ci = αk,l | k |

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

Markus Grassl – 40– 23.07.2018 Quantum Error-Correcting Codes LAWCI General Decoding Algorithm

E E Ek 1C 2C C E c E c Ek c V0 1| 0 2| 0 | 0 E c E c Ek c V1 1| 1 2| 1 | 1 . . . . . rows are orthogonal as ...... ci E†El cj = 0 for | k | i E1 ci E2 ci Ek ci i = j V | | | . . . . . ...... inner product between columns is constant as

ci E†El ci = αk,l | k | = simultaneous Gram-Schmidt orthogonalization within the spaces i ⇒ V

Markus Grassl – 41– 23.07.2018 Quantum Error-Correcting Codes LAWCI Orthogonal Decomposition

E′ E′ E′ 1C 2C kC E′ c E′ c E′ c V0 1| 0 2| 0 k| 0 E′ c E′ c E′ c V1 1| 1 2| 1 k| 1 . . . . . rows are mutually ...... orthogonal i E′ ci E′ ci E′ ci V 1| 2| k| ...... columns are mutually orthogonal

new error operators E′ are linear combinations of the El • k projection onto E′ determines the error • kC exponentially many orthogonal spaces E′ • kC

Markus Grassl – 42– 23.07.2018 Quantum Error-Correcting Codes LAWCI CSS Prelims: Linear Binary Codes

Generator matrix: Fn C =[n,k,d]2 is a k-dim. subspace of 2 k n = basis with k (row) vectors, G F × ⇒ ∈ 2 C = iG : i Fk { ∈ 2 } Parity check matrix: Fn C =[n,k,d]2 is a k-dim. subspace of 2 (n k) n = kernel of n k homogeneous linear equations, H F − × ⇒ − ∈ 2 C = v : v Fn vHt = 0 { ∈ 2 | } Error syndrome: erroneous codeword v = c + e = error syndrome vHt = cHt + eHt = eHt ⇒

Markus Grassl – 43– 23.07.2018 Quantum Error-Correcting Codes LAWCI CSS Prelims: Dual of a Classical Code

Let C Fn be a linear code. Then ≤ 2 n n C⊥ := y F : xiyi = 0 for all x C ∈ 2 ∈ i=1

n We denote the scalar product by x y := xiyi. i=1 Lemma: Let C be a linear binary code. Then

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

Markus Grassl – 44– 23.07.2018 Quantum Error-Correcting Codes LAWCI Bit-flips and Phase-flips

Let C Fn be a linear code. Then the image of the state ≤ 2 1 c | C c C | | ∈ under a bit-flip x Fn and a phase-flip z Fn is given by ∈ 2 ∈ 2 1 z c ( 1) c + x . − | C c C | | ∈ Hadamard transform H ... H maps this to ⊗ ⊗ xz ( 1) x b − ( 1) b + z − | C⊥ b C⊥ | | ∈ Markus Grassl – 45– 23.07.2018 Quantum Error-Correcting Codes LAWCI Proof:

n 1 a b Hadamard transform H⊗ = ( 1) b a √ n − | | 2 a,b Fn ∈ 2

n 1 z c 1 z c+a b H⊗ ( 1) c + x = ( 1) b a c + x − | n − | | C c C C 2 a,b Fn c C | | ∈ | | ∈ 2 ∈ 1 z c+(c+x) b = ( 1) b n − | C 2 b Fn c C | | ∈ 2 ∈ 1 x b c (b+z) = ( 1) ( 1) b n − − | C 2 b Fn c C | | ∈ 2 ∈ 1 x (b+z) c b = ( 1) ( 1) b + z n − − | C 2 b Fn c C | | ∈ 2 ∈ x z ( 1) x b = − ( 1) b + z − | C⊥ b C⊥ | | ∈ Markus Grassl – 46– 23.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⊥ C . Let x ,..., xK be representatives for the cosets 2 ≤ 1 { 1 } C1/C2⊥. Define quantum states 1 xi + C2⊥ := xi + y | C ⊥ | 2⊥ y C | | ∈ 2 Theorem: Then the vector space spanned by these states is a quantum code C with parameters [[n, k + k n, d]]q where d min(d ,d ). 1 2 − ≥ 1 2

Markus Grassl – 47– 23.07.2018 Quantum Error-Correcting Codes LAWCI CSS Codes — how they work

Basis states: 1 xi + C2⊥ = xi + y | C ⊥ | 2⊥ y C | | ∈ 2

Suppose a bit-flip error b happens to xi + C⊥ : | 2 1 xi + y + b | C2⊥ y C⊥ | | ∈ 2

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

Markus Grassl – 48– 23.07.2018 Quantum Error-Correcting Codes LAWCI CSS Codes — how they work

Let H be the parity check matrix of C , i.e., xHt = 0 for all x C . 1 1 1 ∈ 1 1 t 1 t xi + y + b (xi + y + b)H = xi + y + b bH | | 1 | | 1 C2⊥ y C⊥ C2⊥ y C⊥ | | ∈ 2 | | ∈ 2 t Then measure the ancilla to obtain s = bH1. Use this to correct the error by a conditional operation which flips the bits in b. Phase-flips: Suppose we have the state

1 (xi+y) z ( 1) xi + y C ⊥ − | 2⊥ y C | | ∈ 2 n Then H⊗ 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 – 49– 23.07.2018 Quantum Error-Correcting Codes LAWCI Encoding Classical code information codeword −→ k i =(i , i ,...,ik) i G = ij gj 1 2 −→ j=1 Quantum code

information cosets of the code C2⊥ in C1 −→ k i = i1, i2,...,ik c + xi = c + ij gj | | −→ | | j=1 c C⊥ c C⊥ ∈ 2 ∈ 2 k = x G˜ + ij gj | j=1 x 0,1 k ∈{ } C⊥ C1, G˜ is generator matrix for C⊥, 2 ⊆ 2 the gj are linear independent coset representatives of C1/C2⊥

Markus Grassl – 50– 23.07.2018 Quantum Error-Correcting Codes LAWCI Example: Seven Qubit Code

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

0010111 G =  0101110  ,  1001011      then C is a [7, 3, 4] and C C⊥. The dual code C⊥ is a [7, 4, 3] and has ≤ generator matrix

0001101  0010111  G′ =  0101110       1001011     

Markus Grassl – 51– 23.07.2018 Quantum Error-Correcting Codes LAWCI

0 H c1 | • | 0 H c2 | • | 0 0 0 1   0 0 1 0 0 H c3   | • |  0 1 0 0  t   ψ c G =  1 0 1 1  i i 4   | • |    1 1 1 0    0 c5  0 1 1 1  | i i i |    1 1 0 1  0 c | i i i | 6 0 c | i i i | 7

1 α 0 + β 1 α 0g4 + i3g3 + i2g2 + i1g1 | | → √8 | i1,i2,i3 0,1 ∈{ } 1 +β 1g4 + i3g3 + i2g2 + i1g1 √8 | i1,i2,i3 0,1 ∈{ }

Markus Grassl – 52– 23.07.2018 Quantum Error-Correcting Codes LAWCI Computation of an Error Syndrome

Classical code: received vector syndrome −→ n k − t t t r =(r ,r ,...,rk) r H = rjhj =(c + e) H = e H 1 2 −→ j=1

Quantum code: quantum state quantum state syndrome −→ ⊗ t c + xi + e (c + xi + e) H˜ ⊥ −→ ⊥ | ⊗| c∈C2 c+xi+e c C2 | ∈

t = c + xi + e e H˜  |  ⊗| c C⊥ ∈ 2   H˜ is a parity check matrix of C1

Markus Grassl – 53– 23.07.2018 Quantum Error-Correcting Codes LAWCI Syndrome Computation of CSS Codes

N c xi ψi = c + xi , H⊗ ψi = ( 1) c | | | − | c C⊥ c C2 ∈ 2 ∈

c1 H H c1 | • • | c2 H H c2 | • • | c3 H H c3 | • • | c4 H H c4 | • • • • | c5 H H c5 | • • • • | c6 H H c6 | • • • • • • | c7 H H c7 | • • • • |

0 s1 | d d d d |  0 s2  bit–flips | d d d d |  0 s3 | d d d d |  0 s4  | d d d d |  0 s5  sign–flips | d d d d |  0 s6 | d d d d | 

Markus Grassl – 54– 23.07.2018 Quantum Error-Correcting Codes LAWCI Stabilizer Codes

Observables is a common eigenspace of the stabilizer group C S

2n-k 1 E −  decomp. into  i  E common eigenspaces   E2  1  E  the orthogonal spaces are labeled by the eigenvalues  = operations that change the eigenvalues can be detected ⇒

Markus Grassl – 55– 23.07.2018 Quantum Error-Correcting Codes LAWCI Stabilizer Codes

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

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

Markus Grassl – 56– 23.07.2018 Quantum Error-Correcting Codes LAWCI The Stabilizer of a Quantum Code

Pauli group:

= E ... E : E I,X,Y,Z Gn ± 1 ⊗ ⊗ n i ∈ { }

Let C2n be a quantum code. C ≤ The stabilizer of is defined to be the set C S = M : M v = v for all v . ∈Gn | | | ∈C

S is an abelian (commutative) group!

Markus Grassl – 57– 23.07.2018 Quantum Error-Correcting Codes LAWCI The Stabilizer of the Repetition Code

Repetition code: Recall that is the two-dimensional code C spanned by 0 = 000 | | 1 = 111 | |

What is the stabilizer of ? C

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

Markus Grassl – 58– 23.07.2018 Quantum Error-Correcting Codes LAWCI Stabilizer Codes

Let be a quantum code with stabilizer S. C

The code is called a stabilizer code if and only if C M v = v for all M S | | ∈ implies that v . | ∈C

In this case is the joint +1-eigenspace of all M S. C ∈

Example: The repetition code is a stabilizer code.

Markus Grassl – 59– 23.07.2018 Quantum Error-Correcting Codes LAWCI Errors in Stabilizer Codes

Important identity:

1 0 0 1 ZX = = XZ. 0 1 1 0 − − For error operators in the Pauli group (i.e. tensor products of Gn I,X,Y,Z) there are two possibilities: either they commute: EF = FE • or they anticommute: EF = FE • −

Markus Grassl – 60– 23.07.2018 Quantum Error-Correcting Codes LAWCI Errors in Stabilizer Codes

Let S be the stabilizer of a quantum code . Let P be the C C projector onto . C If an error E anticommutes with some M S then E is detectable ∈ by . C Indeed,

P EP = P EMP = P MEP = P EP . C C C C − C C − C C

Hence P EP = 0, i.e. the spaces and E are orthogonal. C C C C

Markus Grassl – 61– 23.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 – 62– 23.07.2018 Quantum Error-Correcting Codes LAWCI Examples of the Good, the Bad, and the Ugly

Let the repetition code C

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 – 63– 23.07.2018 Quantum Error-Correcting Codes LAWCI Error Correction Capabilities

Let be a stabilizer code with stabilizer S. C Let N(S) be the normalizer of S in . This is the set of all Gn matrices in which commute with all of S. Clearly, we have G 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 – 64– 23.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 =(a ,...,a ) Fn the 1 n ∈ 2 operator a X = Xa1 Xa2 ... Xan . ⊗ ⊗ ⊗ For instance X110 = X X I. ⊗ ⊗ Hence, any operator in is of the form XaZb for some Gn ± a, b Fn. ∈ 2

Markus Grassl – 65– 23.07.2018 Quantum Error-Correcting Codes LAWCI Symplectic Geometry

a b c d Consider M1 = X Z , M2 = X Z . When do M1 and M2 commute?

M M = XaZbXcZd =( 1)bcXa+cZb+d 1 2 − M M = XcZdXaZb =( 1)adXa+cZb+d 2 1 − Hence, M and M commute iff a d b c =0mod2. 1 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 F . This matrix is | − × 2 used to describe the stabilizer. The rows of H contain the vectors (a b). |

Markus Grassl – 66– 23.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.

0 0 0 1 1 0 H =(X Z) = | 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 the | ⊥ | symplectic inner product (a b) ⋆ (c d) := a d b c. | | −

Markus Grassl – 67– 23.07.2018 Quantum Error-Correcting Codes LAWCI Shor’s nine-qubit code

Hadamard basis: + = 1 ( 0 + 1 ), = 1 ( 0 1 ) | √2 | | |− √2 | −| Phase-flip code: 0 + ++ , 1 . | → | | → |−−−

Concatenation with bit-flip code gives:

0 1 ( 000 + 111 )( 000 + 111 )( 000 + 111 ) | → √23 | | | | | | 1 1 ( 000 111 )( 000 111 )( 000 111 ) | → √23 | − | | − | | − |

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

Markus Grassl – 68– 23.07.2018 Quantum Error-Correcting Codes LAWCI Stabilizer for the nine-qubit code

ZZ  Z Z   ZZ       Z Z       ZZ       Z Z     XXXXXX       XXX XXX      Generates an abelian subgroup of . This generating system of eight G9 generators is minimal. Each generator divides the space by 2.

Hence we obtain a [[9, 1, 3]]2 quantum code.

Markus Grassl – 69– 23.07.2018 Quantum Error-Correcting Codes LAWCI The Five Qubit Code

Stabilizer: = YZZYI,IYZZY,YIYZZ,ZYIYZ S (X Z) matrix given by (recall: X = (1, 0), Y = (1, 1), Z = (0, 1)): | 10010 11110  01001 01111  H =  10100 10111       01010 11011      = [[5, 1, 3]] C 2 shortest qubit code which encodes one qubit and can correct one error

Markus Grassl – 70– 23.07.2018 Quantum Error-Correcting Codes LAWCI

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

Here H =(X Z) is of a special form: | 1001011  0101110   0010111    H =    1001011       0101110       0010111      Can be applied for (binary) codes C⊥ C . If C =[n, k ,d ] and • 2 ⊆ 1 1 1 1 C =[n, k ,d ], this gives a QECC [[n, k + k n, min(d ,d )]]. 2 2 2 1 2 − 1 2 Has been used to derive asymptotic good codes (explicitly). • CSS codes have nice properties for fault-tolerant computing. •

Markus Grassl – 71– 23.07.2018 Quantum Error-Correcting Codes LAWCI Fault Tolerant

Operate on encoded data (map codewords to codewords). • Prevent spreading of errors. • U1  • qubit 2  • U2  • q  q  • q U1 Un  U  2 qubit 1  U3

 U4  localoperations transversaloperations

Markus Grassl – 72– 23.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 a to fit into the of n qubits. For a pure QECC [[n,k, 2t + 1]]2 this implies: t n 2n 2k (22 1)i ≥ − i i=0 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 – 73– 23.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 – 74– 23.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)]

α β = X Z : α,β Fq , E { ∈ } Cq C F where (you may think of ∼= [ q])

α X = x + α x for α Fq | | ∈ x Fq ∈ β tr(βz) and Z = ω z z for β Fq (ω = ωp = exp(2πi/p)) | | ∈ z Fq ∈

Markus Grassl – 75– 23.07.2018 Quantum Error-Correcting Codes LAWCI Stabilizer Codes

common eigenspace of an Abelian subgroup of the group n with elements S G ωγ (Xα1 Zβ1 ) (Xα2 Zβ2 ) ... (Xαn Zβn ) =: ωγ XαZβ, ⊗ ⊗ ⊗ n where α, β F , γ Fp. ∈ q ∈ quotient group:

n n n n := n/ ωI = (Fq Fq) = F F G G ∼ × ∼ q × q Abelian subgroup ′ ′ ′ S γ α β γ α β (α, β) ⋆ (α′, β′) = 0 for all ω (X Z ), ω (X Z ) , ⇐⇒ ∈ S where ⋆ is a symplectic inner product on Fn Fn. q × q

Stabilizer codes correspond to symplectic codes over Fn Fn. q × q

Markus Grassl – 76– 23.07.2018 Quantum Error-Correcting Codes LAWCI Symplectic Codes

most general: additive codes C Fn Fn that are self-orthogonal with respect to ⊂ q × q n (v, w) ⋆ (v′, w′) := tr(v w′ v′ w) = tr( viw′ v′wi) − i − i i=1 special cases: n n Fq-linear codes C F F that are self-orthogonal with respect to ⊂ q × q n (v, w) ⋆ (v′, w′) := v w′ v′ w = viw′ v′wi − i − i i=1 n F 2 -linear Hermitian codes C F 2 that are self-orthogonal with respect to q ⊂ q n q x ⋆ y := xi yi i=1

Markus Grassl – 77– 23.07.2018 Quantum Error-Correcting Codes LAWCI Quantum Codes from Classical Codes

Hermitian self-orthogonal code n linear code C =[n,k,d′] 2 F 2 that is self-orthogonal with respect to the q ≤ q Hermitian inner product

n q x ⋆ y := xi yi, i=1 ⋆ n i.e., C C = x F 2 y C : x ⋆ y = 0 ≤ { ∈ q |∀ ∈ } Theorem: (Hermitian construction)

Let C =[n,k,d′]q2 be a Hermitian self-orthogonal code and let

d := min wgt(c): c C⋆ C d (C⋆). { ∈ \ }≥ min

Then there exists a quantum code = [[n, n 2k,d]]q. C − [Ketkar et al., Nonbinary stabilizer codes over finite fields, IEEE-IT 52, pp. 4892–4914 (2006)]

Markus Grassl – 78– 23.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 = puncturing C Cp = Cp (Cp) = C → s ⇒ → ⇒ ⊂ s General problem: How to turn a non-symplectic code into a symplectic one?

Basic idea:

n (viw′ v′wi) = 0 for some (v, w), (v′, w′) C i − i ∈ i=1

Markus Grassl – 79– 23.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 = puncturing C Cp = Cp (Cp) = C → s ⇒ → ⇒ ⊂ s General problem: How to turn a non-symplectic code into a symplectic one?

n Basic idea: find (α , α ,...,αn) F with 1 2 ∈ q n (viw′ v′wi)αi = 0 for all (v, w), (v′, w′) C i − i ∈ i=1

Markus Grassl – 79– 23.07.2018 Quantum Error-Correcting Codes LAWCI Shortening Quantum Codes

puncture code of an Fq-linear code C over Fq Fq: ×

⊥ n P (C) := c, c′ : c, c′ C F { } ∈ ⊆ q with the vector valued bilinear form

n n (v, w), (v′, w) := (viw′ v′wi) F { } i − i i=1 ∈ q

α =(α , α ,...,αn) P (C) 1 2 ∈ n (viw′ v′wi)αi = 0 for all (v, w), (v′, w′) C ⇐⇒ i − i ∈ i=1 n = symplectic code C := (v, (αiwi) ): (v, w) C ⇒ { i=1 ∈ }

Markus Grassl – 80– 23.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 n˜ = r with C˜ C˜⋆ ⇒ ⊆ Theorem: (Rains) Let C be a code over Fn Fn with C⋆ =(n, qn+k,d). q × q If α P (C) with wgt(α)= r, then there is a stabilizer code ∈ = [[r, k˜ r (n k), d˜ d]]q. C ≥ − − ≥ In particular:

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

Markus Grassl – 81– 23.07.2018 Quantum Error-Correcting Codes LAWCI The Easy Case: CSS-like Construction

[R¨otteler, Grassl, and Beth, ISIT 2004]

start with a cyclic (constacyclic) MDS code C over Fq of length q + 1 • 1 in general, C⊥ C • 1 ⊂ 1 compute P (C) for C = C⊥ C⊥: • 1 × 1 n ⊥ P (C)= (cidi) : c, d C⊥ i=1 ∈ 1 αi, αj roots of the generator polynomial of C • 1 = α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 = [[n, n 2d + 2,d]]q exist for all 3 n q + 1 and C − ≤ ≤ 1 d n/2 + 1. ≤ ≤

Markus Grassl – 82– 23.07.2018 Quantum Error-Correcting Codes LAWCI The Harder Case: Hermitian-like Construction

2 start with a cyclic (constacyclic) MDS code C over F 2 of length q + 1 • q in general, C is not a Hermitian self-orthogonal code • q n ⊥ n P (C)= (cid ) : c, d C F • i i=1 ∈ ∩ q q q n ⊥ = (cid + c di) : c, d C i i i=1 ∈ 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¨otteler], [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 – 83– 23.07.2018 Quantum Error-Correcting Codes LAWCI Computational Results: q = 8 6 d 10

9

8

7

6

5

4

3

2 0 10 20 30 40 50 60 70 - n — quantum Singleton bound, — conjectured bound, 2 direct construction, + via P (C)

Markus Grassl – 84– 23.07.2018 Quantum Error-Correcting Codes LAWCI Special Cases

[Grassl & R¨otteler, Quantum MDS Codes over Small Fields, ISIT 2015, pp. 1104–1108] Theorem: 2 2 Our construction yields QMDS codes = [[q + 1,q + 3 2d,d]]q C − 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 m m m+1 m [[4 + 1, 4 + 3 2 , 2 ]] m for (at least) m = 3, 4, 5, 6, 7. − 2 Theorem: m m m For q = 2 , there exist QMDS codes = [[4 + 2, 4 4, 4]] m . C − 2 Proof: (main idea, see [Grassl & R¨otteler 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 – 85– 23.07.2018 Quantum Error-Correcting Codes LAWCI QMDS of Distance Three

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

1011 1 ... 1 g0 G = 2 = , 2 q 2  0 1 1 ω ω ... ω −   g1      where ω is a primitive element of GF (q2)

Considered as Fq-linear code generated by

g , g′ = αg , g , g′ = αg { 0 0 0 1 1 1} where α GF (q2) GF (q) ∈ \

Markus Grassl – 86– 23.07.2018 Quantum Error-Correcting Codes LAWCI The Dual of the Puncture Code

q+1 q q q q q q+1 P (C)⊥ = g , g g1 + g g , g α g + g αg , g 0 0 ◦ 0 ◦ 1 0 ◦ 1 0 ◦ 1 1 = f 0, f 1, f 2, f 3 ,

m m m m using v w =(vw , v w ,...,vnwn) and v =(v , v ,...,v ) ◦ 1 1 2 2 1 2 n We have

q+1 f0 = z q q q f1 = x z + xz = homogenz(x + x ) = homogenz(tr(x)) q q q q q f2 = α x z + αxz = homogenz(αx + α x ) = homogenz(tr(αx)) q+1 f3 = x

2 Choosing α F 2 Fq with α = β α + 1 for some β Fq yields ∈ q \ − 1 1 ∈ f 2 + β f f + f 2 = (4 β2)f f . 1 1 1 2 2 − 1 0 3

Markus Grassl – 87– 23.07.2018 Quantum Error-Correcting Codes LAWCI Ovoid Code

Lemma: The dual of the puncture code is an ovoid code, i.e.

2 2 P (C)⊥ =[q + 1, 4,q q]q. − (see, e.g., Example TF3 in [Calderbank & Kantor, 1986])

This code is a two-weight code with weights q2 q and q2. −

1 for i = 0, (q3 + q)(q 1) for i = q2 q, Ai =  − − (q2 + 1)(q 1) for i = q2,  − 0 else.   

Markus Grassl – 88– 23.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

2 2 2 q +1 3 q+1 q q 2 q W ⊥ = X +(q + q)(q 1)X Y − +(q + 1)(q 1)XY P (C) − − MacWilliams transformation yields

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

Markus Grassl – 89– 23.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 Q ,...,Q of the ovoid in a plane (for q 4). • 0 4 O P ≥ Choose 2 points P and P of the ovoid outside of the plane. • 1 2 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 , use exactly 4 other points Qi to get zero. ∈P – Otherwise, consider the intersection of with the line through S and P P1 (or P2 if S = P1). Use exactly 3 other points Qi to get zero.

Markus Grassl – 90– 23.07.2018