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