-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathQ2L6c.txt
147 lines (146 loc) · 6.12 KB
/
Q2L6c.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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
#
# File: content-mit-8371x-subtitles/Q2L6c.txt
#
# Captions for 8.421x module
#
# This file has 137 caption lines.
#
# Do not add or delete any lines. If there is text missing at the end, please add it to the last line.
#
#----------------------------------------
Fault tolerant computation requires gates on encoded data.
What gates can be performed on quantum codes
such as stabilizer codes?
Recall that under a unitary transform,
a stabilizer changes by conjugation.
We define the normalizer of S in the Pauli group G
to be N of S, the set of Pauli operators G,
such that G conjugates every element of S back to itself.
Equivalently, we may also define the normalizer
as being the set of Pauli operators
which commute with every element in the stabilizer.
Let us prove this lemma.
Recall that for any two elements, g and h in the Pauli
group, either g and h commute or anti-commute.
What does this tell us about how they conjugate each other?
Well, this means that ghg dagger is either plus or minus hgg
dagger.
And that means plus or minus h.
However, remember that minus h cannot be in the stabilizer
because minus identity is excluded from the stabilizer
by definition.
Therefore, that g conjugates h back
to itself is implied by g commuting with h.
Let us look at some examples of normalizers.
Consider the stabilizer generated by IZ and ZI.
If you look for all possible Paulis which
commute with both of these generators,
we find that that set includes the identity ZZ, ZI, and IZ.
In fact, we find that the normalizer of S
is a super set of the stabilizer itself.
Consider as another example the stabilizer generated by XX.
What is the normalizer for this stabilizer?
Well, in fact let us look at the normalizer excluding
the stabilizer.
This set includes IX and XI.
Go look at this example more yourself
and you'll see that a bit flip on any single qubit
here transforms between the two code words of this stabilizer
code, namely 0 0 plus 1 1 and 0 1 plus 1 0.
Let us turn to another example.
Consider the stabilizer generated by IXX and IZZ
This seems to encode a single qubit.
And in fact, that is exactly shown
by the normalizer modulo of the stabilizer, which
has X and Z on the first qubit.
This suggests the normalizer captures the logical behavior
of a qubit.
Consider the stabilizer of the three qubit code.
Here, the normalizer modulo S has XXX and other elements.
Recognizing that XXX flips 0 0 0 to 1 1 1,
we may call it a logical operator X bar.
It acts on the code words of the three qubit
code, which encodes one qubit to flip logical 0 and logical 1.
Conceptually, we may picture normalizers
and their relationship to stabilizers as follows.
Within the space of all Pauli operators G,
we have a subspace of normalizers N of S. N of S
includes S. This group S, though, has
multiple cosets within N of S.
For example, a coset representative N1
may multiply S or N2 or N3 and so forth.
Normalizer operations, therefore, transform states
within a stabilizer without taking states outside
of the stabilizer.
They are thus useful for describing errors.
Define the weight of a stabilizer element
g as a number of non-identity Pauli operators in g.
We may then say that a stabilizer code C of S
has distance d If the normalizer modulo of the stabilizer
has no elements with weight less than d.
This is the direct analog of the Hamming distance used
for classical linear codes.
It is also useful to generalize the concept of a normalizer
beyond just the Pauli group to allow any unitary operation
on the stabilizer state.
Let us denote such a generalized normalizer as N tilde
and ask the question, what is N tilde acting on the Pauli
group.
Well, it is straightforward to see
that the normalizer, the generalized normalizer,
of the one qubit Pauli group is generated by the Hadamard gate
and the Phase gate S. Recall, S is square root of Z. This
is the group of local Clifford operators
as we have seen previously.
More explicitly, we can see that H transforms
X, Y, and z to become Z, minus Y, and X,
while S produces y, x and z.
It is straightforward to see any permutation of x y z
and signs can be constructed from H and S.
And thus, they generate the normalizer
of the single qubit Pauli group.
How about the normalizer of the two qubit Pauli group?
Well, recall that we have seen that the controlled NOT
gate also conjugates Paulis to Paulis.
If we have an X operating on the target
before the controlled NOT gate, that corresponds to an X
after the CNOT gate.
If we have an X on the control before the CNOT,
then that conjugates to become two X-gates
after the CNOT gate.
Therefore, we have a truth table which looks like this.
The CNOT gate conjugates the inputs IX, XI, IZ, and ZI,
labeled as control and target in that order
to become IX, XX, ZZ, and ZI.
We define C2 as being the normalizer of the Pauli group
and claim that it is generated by H, S, and the CNOT.
This group is known as the Clifford group.
I invite you to prove to yourself
that it is the normalizer of the Pauli group.
Let us capture this important statement as a theorem.
This theorem, known as the Gottesman-Knill theorem,
is fundamental to our study of operations
on quantum stabilizer codes.
The theorem has two parts.
First, suppose u is a unitary operator
which conjugates Paulis to Paulis for all Paulis
in the Pauli group.
Then, the theorem holds that u can
be constructed from order of n squared, H, S, and CNOT gates.
This means that a natural description
of stabilizer operations is given by H, S, and CNOT gates.
Note that the proof gives this construction explicitly.
The second part of the theorem holds
that any quantum circuit composed from H, S, and CNOT
gates acting on an input state of qubits all in the 0 state,
possibly including measurement in the computational bases
and any additional classical control,
including feed forward control, any such quantum circuit
may be simulated efficiently and entirely classically.
This is a remarkable and important theorem which you
will prove in the problem set.
The Gottesman-Knill theorem therefore states that universal
quantum computation cannot be generated by using H, S,
and CNOT gates alone.
Something more is needed, something beyond the Clifford
group is needed for universal quantum computation.