-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathQ1L5c.txt
78 lines (77 loc) · 3.24 KB
/
Q1L5c.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#
# File: content-mit-8371x-subtitles/Q1L5c.txt
#
# Captions for 8.421x module
#
# This file has 68 caption lines.
#
# Do not add or delete any lines. If there is text missing at the end, please add it to the last line.
#
#----------------------------------------
CSS codes are stabilizer codes with a particularly
interesting and informative structure.
Recall that a CSS code begins with two classical codes.
C1, which has parameters n, k1, and C2, which has parameters n,
k2.
These two classical codes-- classical linear codes-
are combined to produce a CSS code.
C2 is equal to-- or a subgroup of-- C1, and C1 and C2 perp
are each assumed to be able to correct up
to t errors-- bit flip errors.
This means that the parity check matrix H1 for code C1
should be able to identify t errors in particular.
The quantum CSS code over C1 and C2
may be defined in terms of its states and code space,
as we have done before.
But here we will define it in terms of its stabilizer.
The stabilizer of the CSS codeword space
is generated by these stabilizer elements.
X of G2 transpose and Z of H1.
Here the notation X of G2 transpose indicates that we
replace 0's with identity, and 1's with X
Pauli operators.
Similarly, with Z we replace 0 with identity
and 1 with the Pauli Z operator.
Each row of the matrix argument gives one stabilizer generator.
G2 is a generator matrix for C2, and H1 is the parity check
matrix of code C1.
We will be interested in C2 perp, the dual code to C2,
for which the parity check matrix is G2.
I have asserted that this set of operators of x's and z's
a valid set of generators for a stabilizer.
Let me now prove that is the case,
that s is a valid stabilizer.
All the generators must commute with each other,
and here we are concerned that the Z generators
and the X generators commute with each other,
since they normally do not.
Here G2 transpose describes on n qubits
the n minus k divided by 2 X operators.
Similarly H1, now transposed, gives us the n minus k divided
by 2 operators with Z's.
The transpose of H1 here allows us to indicate in this matrix
expression that we need the two spaces to be
orthogonal to each other.
so that all the rows commute with each other.
This product may be rewritten as H1 G2 transpose.
Now H1, recall, annihilates code words of C1,
and thus this expression, by definition, is 0.
Moving on, we prove that this code
corrects for t Z errors-- phase flip errors-- by observing
that any single qubit Z error must anti-commute with at least
one X generator-- that is, the generators from G2 transpose--
by virtue of the fact that C2 perp corrects for at least
one bit flip error.
Second, we prove that the code can correct t X errors.
And this is the case because the stabilizer generators with Z
in them-- generated by H of C1-- can correct any single bit
flip error.
The two codes thus have exactly the pattern
of X's and Z's which allow us to construct an n, k quantum error
correction code, which corrects up to t single qubit errors.
Shor's nine qubit code and Steane's seven qubit code
are both examples of CSS codes, and both these codes-- as well
as all CSS codes-- have convenient stabilizer code
descriptions.
The key signature is a stabilizer whose generators
are broken into a set which corrects X errors and a set which corrects Z errors.