Upload
others
View
15
Download
0
Embed Size (px)
Citation preview
이학석사 학위논문
A Survey on Quantum Error Correcting
Codes
(양자 오류 정정 부호에 대한 연구)
2018년 2월
서울대학교 대학원
수 리 과 학 부
황 규 호
A Survey on Quantum Error Correcting
Codes
by
Gyuho Hwang
A DISSERTATION
Submitted to the faculty of the Graduate School
in partial fulfillment of the requirements
for the degree Master of Science
in the Department of Mathematics
Seoul National University
February 2018
i
Abstract
Quantum error-correcting codes is used to protect quantum information
against noise. In this thesis we explain the structure and error correction
process of the Calderbank-Shor-Stean codes(CSS) codes and the stabilizer
codes. Also we describe CSS codes in the context of stabilizer formalism.
Furthermore we will discuss the logical basis states and the encoding circuit
of stabilizer codes.
Keywords : Quantum error correcting code, CSS code, Stabilizer code
Student number : 2014-22356
Contents
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i
1 Introduction 1
2 Preliminaries 3
2.1 Quantum mechanics . . . . . . . . . . . . . . . . . . . . . . 3
2.1.1 The postulates of quantum Mechanics . . . . . . . . 3
2.1.2 Density operators . . . . . . . . . . . . . . . . . . . . 5
2.1.3 Quantum channel . . . . . . . . . . . . . . . . . . . 6
3 Quantum error correcting codes 9
3.1 Basic concepts . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2 Quantum error correction condition . . . . . . . . . . . . . 10
4 Calderbank-Shor-Stean codes 13
4.1 Classical linear codes . . . . . . . . . . . . . . . . . . . . . . 13
4.2 CSS codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.3 Error correction process of CSS codes . . . . . . . . . . . . 17
5 Stabilizer codes 21
5.1 Stabilizer codes . . . . . . . . . . . . . . . . . . . . . . . . . 21
ii
CONTENTS iii
5.2 Error correction process of stabilizer codes . . . . . . . . . . 26
5.3 Describing CSS codes as stabilizer codes . . . . . . . . . . . 30
5.4 Standard form and logical basis states . . . . . . . . . . . . 32
5.5 Encoding Stabililzer Codes . . . . . . . . . . . . . . . . . . 35
The bibliography 41
국문초록 43
Chapter 1
Introduction
In the field of quantum algorithms it is known that quantum computers
would have extraordinary power on some tasks which are not feasible on
a classical computer. For example, some quantum algorithms based upon
Shor’s quantum Fourier transform [6] is exponentially faster than classi-
cal algorithms for solving the factoring problem. But quantum computers
have the challenge of protecting quantum information from errors. Since a
quantum computer will interact with its surroundings, quantum decoher-
ence causes errors and so the quantum information decays with time. This
is inevitable because large quantum systems cannot be perfectly isolated.
Also, quantum gates cannot be implemented exactly since the set of unitary
operators is continuous.
Quantum error correction is used to protect quantum information stored
or transmitted over a noisy communication channel. Also quantum error
correction is applied to fault-tolerant quantum computation, techniques
which are used to compute on encoded quantum states successfully even
with faulty gates. Shor [7] and Steane [8] discovered the first quantum error
1
CHAPTER 1. INTRODUCTION
correcting code.
Chapter 2 provides a overview of basic materials in quantum mechan-
ics. Chapter 3 introduces the concept of quantum error correcting codes,
and describes the quantum error correction condition. Chapter 4 is about
the Calderbank-Shor-Stean codes(or CSS codes, after the initials of the in-
ventors). Calderbank and Shor [1], and Steane [9] developed CSS codes by
using classical error correcting codes. We will review the theory of classi-
cal linear codes, and explain the structure and error correction process of
CSS codes. Finally, Chapter 5 discusses the stabilizer codes. Gottesman [2]
introduced the stabilizer formalism. It is a large class of quantum codes in-
cluding CSS codes. After explaining the structure and the error correction
properties of the stabilizer code, we will describe CSS codes in terms of
stabilizer codes. Also, we will discuss the logical basis states and encoding
circuit for stabilizer codes.
This thesis is primarily based on [4] and [2].
2
Chapter 2
Preliminaries
2.1 Quantum mechanics
2.1.1 The postulates of quantum Mechanics
Any isolated physical system is associated to a complex Hilbert space,
called the state space of the system. The state vector is a unit vector in the
state space which refers to the state of the system. We are most concerned
with the qubit(or quantum bit) system. The state space of a qubit is a two
dimensional Hilbert space, C2, and any state vector in the stae space can
be written in the form
α|0〉+ β|1〉
for some fixed orthonormal basis {|0〉, |1〉} of C2 where α, β are complex
numbers such that |α|2 + |β|2 = 1 . In this context, a qubit is the quantum
analogue of the classical binary bit. The n qubits space is the n fold tensor
product of a qubit space C2. Note that {|x1 · · ·xn〉 : xi = 0 or 1} forms
an orthonormal basis for n qubits space (C2)⊗n = C2n . We say that these
states |0 · · · 0〉, · · · , |1 · · · 1〉 are computational basis states of n qubits space.
3
CHAPTER 2. PRELIMINARIES
The time evolution of the state of a closed quantum system is described
by a unitary transformation. Let |ψ(t)〉 denote the state of the system at
time t. Then the equation
|ψ(t2)〉 = U(t1, t2)|ψ(t1)〉
holds for some unitary operator U(t1, t2) which depends only on the system
and the times t1 and t2. This is derived from the Schrodinger equation.
See the subsection 2.2.2 of [4] for details.
A quantum measurements is described by a family {Mm} of operators
acting on the state space and satisfying the completeness equation:∑m
M∗mMm = I.
The operators Mm are called the measurement operators and the index m
refers to the measurement outcomes. If we have a state vector |ψ〉 then the
result m occur with the probability
p(m) = 〈ψ|M∗mMm|ψ〉.
The completeness equation shows the fact that the sum of probabilities is
one: ∑m
p(m) =∑m
〈ψ|M∗mMm|ψ〉 = 〈ψ|∑m
M∗mMm|ψ〉 = 〈ψ|ψ〉 = 1.
Given that outcome is m occurred, the state after the measurement is
Mm|ψ〉√〈ψ|M∗mMm|ψ〉
=Mm|ψ〉√p(m)
.
There is a special class of general measurements. A projective measure-
ment is described by a Hermition operator, called an observable. Suppose
that
M =∑m
λmPm
4
CHAPTER 2. PRELIMINARIES
is a spectral decomposition of an observable M where λm is an eigenvalues
of M and Pm is the projector onto λm-eigenspace. Then the eigenvalues λm
of the observable correspond to the measurement outcomes. The probability
of outcome m is given by
p(m) = 〈ψ|Pm|ψ〉
, and the state after the measurement is
Pm√p(m)
.
The phrase ’measure in an orthonormal basis {|ψm〉}’ means to perform
the measurement with the measurement operators |ψm〉〈ψm| , or equiva-
lently, to perform the projective measurement with Pm = |ψm〉〈ψm|.
2.1.2 Density operators
The density operator is an alternate useful tool to describe quantum
systems whose state is not completely known. First, let’s look at the general
definition of the density operator.
Definition 2.1.1. An operator ρ ∈ B(H) is called a density operator if ρ
is a positive operator and tr(ρ) = 1.
In the density operator language, a state |ψ〉 corresponds to the operator
|ψ〉〈ψ|. Suppose that the state vector of a quantum system is |ψi〉 with
respective probabilities pi. Note that the linear combination∑
i pi|ψi〉 is
NOT a state vector in general. But the ensemble {pi, |ψi〉} can be associated
to the density operator∑
i pi|ψi〉〈ψi| . Conversely, any density operator is
associated to some ensemble by its spectral decomposition.
5
CHAPTER 2. PRELIMINARIES
The postulates of quantum mechanics are reformulated mathematically
equivalently in terms of the density operator as follows. The state of an
isolated physical system is described by the density operator acting on the
state space of the system. The evolution of a closed quantum system is
described by a unitary transformation. If the density operators ρ(t1), ρ(t2)
denote the states of the system at time t1, t2 respectively, then
ρ(t2) = Uρ(t1)U∗
where U is the unitary operator depending on the system and times t1, t2.
If we perform the measurement with the measurement operators {Mm} to
the state ρ then the result m occur with the probability
p(m) = tr(M∗mMmρ),
and the state after the measurement is
MmρM∗m
tr(M∗mMmρ)=MmρM
∗m
p(m).
2.1.3 Quantum channel
Suppose that we want to apply an operator to a particular quantum
system or send quantum information of the system. Then the quantum
system is not closed since external we interact with the system. The system
of interest is called the principal system. Also a environment refers to a
system that forms a closed system together with the principal system.
Assume for now that the entire system is in a product state ρ ⊗ ρenv.
Then the state of the entire system after the evolution is
U(ρ⊗ ρenv)U∗
6
CHAPTER 2. PRELIMINARIES
where U is the unitary operator associated with the evolution. If the princi-
pal system does not interact with the environment after the transformation
U , then we can obtain the state of the principal system
Φ(ρ) = trenv [U(ρ⊗ ρenv)U∗]
by performing a partial trace over the environment. Quantum channels are
defined to generalize this situation.
Definition 2.1.2. A linear map
Φ : B(H1)→ B(H2)
is called a quantum channel if it is completely positive and trace preserving.
Quantum channels which we will be most concerned with are channels
whose input and output spaces both are n qubit spaces. The following
theorem is useful to characterize quantum channels.
Theorem 2.1.1 (Corollary 2.27 in [10], section 8.2 of [4]). For a linear map
Φ on a finite dimensional Hilbert space H, the followings are equivalent.
1. Φ is a quantum channel.
2. There exists a collection of linear operator {Ei} ⊂ B(H) such that∑i
E∗i Ei = I
and
Φ(ρ) =∑i
EiρE∗i (2.1)
for all ρ ∈ B(H).
7
CHAPTER 2. PRELIMINARIES
3. There exists the system(called environment) with the state space Henv
and the pure state |e0〉 in Henv such that
Φ(ρ) = trenv [U(ρ⊗ |e0〉〈e0|)U∗]
for some unitary operator U on H⊗Henv
In the theorem 2.1.1 the operators {Ei} and the equation 2.1 are called
operation elements and operator sum representation of the quantum chan-
nel Φ, respectively.
Physical interpretation of quantum channels
Suppose that operators {Ei} are operation elements of a quantum chan-
nel Φ. Then the quantum channel Φ is represented by
ρ 7−→ Φ(ρ) =∑i
EiρE∗i
=∑i
tr(EiρE∗i )
EiρE∗i
tr(EiρE∗i ), for ρ ∈ D(H).
If ρ is a density operator then EiρE∗i /tr(EiρE
∗i ) is also a density operator
for each index i. Also note that∑
i tr(EiρE∗i ) =
∑i tr(E∗i Eiρ) = 1 since∑
iE∗i Ei = I. When quantum channel Φ is applied to the state ρ, it is
interpreted that state
ρk =EkρE
∗k
tr(EkρE∗k)
is obtained with probability
p(k) = tr(EkρE∗k).
In fact, this is equivalent to the result of the measurement of the environ-
ment in some basis where the environment is given as in the theorem 2.1.1.
See [4].
8
Chapter 3
Quantum error correcting
codes
In this chapter we will discuss the basic theory of the quantum error
correcting codes.
3.1 Basic concepts
Quantum error correcting codes are used to do quantum information
processing reliably against the effects of noise. These steps are as follows.
Firstly, we encode quantum states to make them resilient. After applying
a quantum channel, we decode the states to recover the original state.
quantum
state
encoded
state
transmitted
state
original
stateEncoding
Quantum
channel Decoding
Figure 3.1: Quantum error correction
9
CHAPTER 3. QUANTUM ERROR CORRECTING CODES
Someone defines quantum error correcting codes as an encoding map,
but we will use the definition such that a code just refers to the space
containing codewords.
Definition 3.1.1. A quantum error correcting code is a subspace of some
larger Hilbert space.
A quantum error correcting code C is called a [n, k] code if C is a 2k
dimensional subspace of n qubits space (C2)⊗n. A [n, k] quantum code is
used to encode k qubits in n qubits.
k qubit
space
[n, k]
code C
n qubit space
Unitary
encoding
Φ : B(C2n)→ B(C2n)
Figure 3.2: [n, k] quantum codes
3.2 Quantum error correction condition
In this section we will introduce error correction conditions for quantum
channels. Before that, let’s look at the formal definition of errors for a
quantum channel and what it means to correct errors.
Let Φ be a quantum channel with operation elements {Ei}. Then we call
operators {Ei} errors for the quantum channel Φ. For example, consider
10
CHAPTER 3. QUANTUM ERROR CORRECTING CODES
the bit flip channel on the qubit space
ρ 7→ (1− p)ρ+ pXρX∗
where p ∈ [0, 1] is fixed and X is the Pauli sigma x operator
(0 1
1 0
).
Observe that the errors for the bit filp channel are√
1− pI and√pX. Since
this channel takes the state |ψ〉 to the state X|ψ〉 with the probability p
and leaves the state unchanged with the probability (1− p), the definition
tells us the type of error, including the probability of occurrence.
Definition 3.2.1. Let Φ be a quantum channel on B(H) with operation
elements {Ei}. For a quantum error correcting code C ⊂ H, a quantum
channel R on B(H) is called an error-correction operation correcting Φ on
C if
(R ◦ Φ)(ρ) = ρ when suppρ ⊂ C.
If such R exist, then we say {Ei} is a correctable set of errors.
Theorem 3.2.1 (Quantum error correction condition, Theorem 10.1 in
[4]). Let C be a quantum code and P be the projector onto C. For a quantum
channel Φ with the operation elements {Ei}, there is an error correction
operator R if and only if there is a Hermition matrix α such that
PE∗i EjP = αijP. (3.1)
A operator sum representation of a quantum channel is not unique. If
{Ei}ni=1 and {Fi}ni=1 are operation elements of quantum channels Φ and Ψ,
respectivly, then Φ = Ψ if and only if there exist a unitary matrix (uij)
such that
Ei =∑j
uijFj . (3.2)
11
CHAPTER 3. QUANTUM ERROR CORRECTING CODES
Therefore if {Ei}ni=1 or {Fi}ni=1 is a correctable set of errors for some quan-
tum code C, then so is the other one automatically.
More generally, the following theorem holds.
Theorem 3.2.2 (Discretization of errors, Theorem 10.2 in [4]). Let Φ and
Ψ be quantum channels with operation elements {Ei} and {Fj} respectively
satisfying
Fj =∑i
mjiEi
for some complex numbers mij. Then if R is a error correction operation
correcting Φ on for some quantum code C, then R is also corrects Ψ on C.
The theorem 3.2.2 says that it is is sufficient to consider a finite set of
errors, the four Pauli matrices:
I =
(1 0
0 1
), X =
(0 1
1 0
), Y =
(0 i
−i 0
), Z =
(1 0
0 −1
)
on a single qubit and n fold tensor products of the Pauli matrices on n
qubits space.
12
Chapter 4
Calderbank-Shor-Stean
codes
The Calderbank-Shor-Stean codes(or CSS codes) are quantum error cor-
recting codes using the error correction properties of classical linear codes.
In this chapter, firstly will we review the theory of classical linear codes,
and study the structure and error correction process of CSS codes.
4.1 Classical linear codes
In classical coding theory data can be represented as binary vectors in
Fn2 where F2 = {0, 1} denote the field with two elements. A [n, k] code is a
subset of Fn2 containg 2k elements and so a k-bits message is encoded in a
string of length n.
Definition 4.1.1 (Linear code). Suppose that G ∈M(n,k)(F2) has full rank.
Then the subspace
C := {Gx|x ∈ Fk2}
13
CHAPTER 4. CALDERBANK-SHOR-STEAN CODES
of Fn2 is called the [n, k] linear code with the generator matrix G.
Since a [n, k] linear code C is k dimensional, there exists a (n− k)× nmatrix H which has linearly independent rows with entries in F2 such that
C = kerH.
We say that H is the parity check matrix of the linear code C. A linear code
is completly determined by the parity check matrix as well as its generator
matrix.
A [n, k] linear code C is able to correct an error e ∈ Fn2 if and only if we
can detect the error when the error e occur on any codeword in C. Suppose
that we have an corrupted codeword y′, that is, y′ = y + e for some y ∈ C.
If we know what is e then we can recover original codeword y by adding
the error e on y′. Conversely if we get the original codeword y by some way,
then the error can be calculated easily : e = y′ + y. The error correction
capability of a linear code is closely related to the ’distance’ of the code.
From now on we will introduce the definition of Hamming distance and a
useful lemma to calculate Hamming distance for a linear code.
Definition 4.1.2. 1. The Hamming distance of x = (x1, · · · , xn) and
y = (y1, · · · , yn) ∈ Fn2 is defined by
d(x, y) := |{i : xi 6= yi}|
2. The Hamming weight of x = (x1, · · · , xn) ∈ Fn2 is defined by
wt(x) := d(x,0)
3. The (Hamming) distance of a linear code C is defined by
d(C) := minx,y∈C, x 6=y
d(x, y) = minx∈C, x 6=0
wt(x)
14
CHAPTER 4. CALDERBANK-SHOR-STEAN CODES
4. An [n, k] code C whose distance is d is called an [n, k, d] code.
Lemma 4.1.1. Suppose that H is the parity check matrix for an [n, k]
linear code C. Then the followings are equivalent.
(i) The distance of C is d.
(ii) Any (d− 1) columns of H are linearly independent and there is a set
of d linearly dependent columns of H.
Proof. Recall that the distance of the code is given by
d(C) = minx∈C, x6=0
wt(x).
Hence if the distance of C is d, then
Hx = 0 for some codeword x ∈ C with wt(x) = d, and (4.1)
He 6= 0 for any e ∈ Fn2 satisfying 0 < wt(e) ≤ d− 1. (4.2)
But the combination of the equations 4.1 and 4.2 is equivalent to the con-
dition (ii) clearly.
The next theorem is about the error correction condition for linear
codes.
Theorem 4.1.1. Suppose that C is a [n, k, d] linear code and t ∈ N. Then
C is able to correct errors on up to t bits if and only if d ≥ 2t+ 1.
Proof. (⇒) Suppose that d ≤ 2t. Then there are y1, y2 ∈ C such that
d(y1, y2) ≤ 2t, i.e, wt(y1 + y2) ≤ 2t. So we can choose e1, e2 ∈ Fn2 such that
y1 +y2 = e1 +e2 and wt(ej) ≤ t for j = 1, 2. Thus if the corrupted codeword
was y′ := y1 + e1 = y2 + e2 we cannot detect that what error occur.
(⇐) Suppose that d ≥ 2t+ 1. First we claim that if e1 and e2 are distinct
15
CHAPTER 4. CALDERBANK-SHOR-STEAN CODES
elements of Fn2 whose weight are both less than t, then He1 6= He2. If
e1 6= e2 and wt(ej) ≤ t for j = 1, 2, then 0 < wt(e1 − e2) ≤ 2t < d.
So H(e1 − e2) is a sum of less than d columns of H. By the lemma 4.1.1
H(e1− e2) 6= 0 and so He1 6= He2. Now assume that the original codeword
y is corrupted by an error e ∈ Fn2 such that wt(e) ≤ t. Then we cen detect
the error e by computing as
Hy′ = H(y + e) = Hy +He = 0 +He = He.
So we can get the original codeword y by adding the error e to y′ :
y = y′ + e
In the proof of the theorem 4.1.1 the equation Hy′ = He tells us that
what error occur. In this sense, we call He the error syndrome of the error
e.
Now we inrtroduce the dual code of a linear code. It will be used for the
construction of the Calderbank-Shor-Stean codes in the next section.
Definition 4.1.3. Let C be a [n, k] linear code with the generator matrix
G and the parity check matrix H. Then the linear code with the generator
matrix HT and the parity check matrix GT is called the dual of C, and
denoted by C⊥.
In the above definition, the generator matrix HT of C⊥ is an n×(n−k)
matrix with full rank. Therefore the dual code C⊥ of an [n, k] linear code
C is an [n, n− k] linear code.
16
CHAPTER 4. CALDERBANK-SHOR-STEAN CODES
4.2 CSS codes
Definition 4.2.1. Suppose that Ci are [n, ki] linear codes, i = 1, 2, such
that C2 ⊂ C1
C1 and C⊥2 both correct t bits errors(4.3)
Then the CSS code of C1 over C2 is defined by
CSS(C1, C2) = span{|x+ C2〉 : x ∈ C1} ⊂ (C2)⊗n (4.4)
where
|x+ C2〉 =1
|C2|∑y∈C2
|x+ y〉 (4.5)
and the sum x+ y in the equation 4.5 is bitwise addition modulo 2.
Note that if x+C2 and x′+C2 are different cosets, then x+ y 6= x′+ y′
for any y, y′ ∈ C2 and so |x + C2〉 and |x′ + C2〉 are orthonormal states in
(C2)⊗n. Therefore the dimension of CSS(C1, C2) is the number of cosets in
C1/C2. But the number of cosets in C1/C2 is |C1/C2| = |C1|/|C2| = 2k1−k2 .
Hence CSS(C1, C2) in the definition 4.2.1 is [n, k1 − k2] code.
4.3 Error correction process of CSS codes
In this section we will show that the CSS code as in the definition 4.2.1
is able to correct arbitrary errors on less than t qubits.
Lemma 4.3.1. For an [n, k] linear code C,
∑y∈C
(−1)x·y =
|C|, if x ∈ C⊥
0, if x /∈ C⊥(4.6)
17
CHAPTER 4. CALDERBANK-SHOR-STEAN CODES
Proof. First we will show that for x ∈ Fn2 , x ∈ C⊥ if and only if x · y = 0
for every y ∈ C. Suppose that x ∈ C⊥. Choose arbitrary element y of C.
Then y = Gx′ for some x ∈ Fk2 where G is the generator matrix of C. Since
GT is the parity check matrix of C⊥, we have
x · y = xT y = xTGx′ = (GTx)Tx′ = 0Tx′ = 0
Conversely, if x · y = 0 for any y ∈ C,
GTx =
vT1...
vTk
x =
v1 · x
...
vk · x
= 0
where vi = Gei ∈ C for i = 1, · · · , k.
Now oberve that if x ∈ C⊥ then∑y∈C
(−1)x·y =∑y∈C
(−1)0 = |C|,
and if x /∈ C⊥ then there is an element z of C such that x · z = 1 and∑y∈C
(−1)x·y =∑y∈C
(−1)x·(y+z) = −∑y∈C
(−1)x·y.
Thus we have∑
y∈C(−1)x·y = 0.
Error correction process
Let CSS(C1, C2) be a CSS code as in the definition 4.2.1. We will show
that CSS(C1, C2) is able to correct t qubits errors. To do this it suffice
to assume that the bit flip error X or the phase flip error Z, or both of
them occur on up to t qubits by the discretization of errors. Hence we shall
suppose that the original state was |x+ C2〉 and the corrupted state is
1
|C2|∑y∈C2
(−1)(x+y)·e2 |x+ y + e1〉 (4.7)
18
CHAPTER 4. CALDERBANK-SHOR-STEAN CODES
for some e1, e2 ∈ Fn2 such that wt(ei) ≤ t, i = 1, 2. Here e1 and e2 describe
the places at which the errors X or Z occur, respectively.
Firstly, we prepare (n− k1) ancilla bits and apply∏ij(CNOT(j,n+i))
hij
to the corrupted state where hij is the (i, j) entry of H1, the parity check
matrix of C1. Here CNOT(i,j) is the controlled-NOT gate which perform a
bit flip on j th qubit if the i th qubit is set to |1〉 in terms of the computa-
tional basis. Then we get the state
1
|C2|∑y∈C2
(−1)(x+y)·e2 |x+ y + e1〉|H1(x+ y + e1)〉. (4.8)
Since x+ y is a codeword in C1, it become
1
|C2|∑y∈C2
(−1)(x+y)·e2 |x+ y + e1〉|H1e1〉. (4.9)
Measure the last (n − k1) qubits in computational basis to obtain H1e1.
Then we can detect e1 since the linear code C1 correct up to t bits error.
After the measurement, discard ancilla bits to get the state
1
|C2|∑y∈C2
(−1)(x+y)·e2 |x+ y + e1〉. (4.10)
Correct bit flip error by applying Pauli X operators to qubits at which
corresponding component of e1 is 1, giving the state
1
|C2|∑y∈C2
(−1)(x+y)·e2 |x+ y〉. (4.11)
Apply the Hadamard transform H⊗n =
[1√2
1√2
1√2−1√
2
]⊗nto detect phase flip
errors, taking the state to
1√|C2|2n
∑z∈Fn
2
∑y∈C2
(−1)(x+y)·z′ |z′ + e2〉. (4.12)
19
CHAPTER 4. CALDERBANK-SHOR-STEAN CODES
Putting z′ := z + e2, we have
1√|C2|2n
∑z′∈Fn
2
∑y∈C2
(−1)(x+y)·(e2+z)|z〉 (4.13)
=1√|C2|2n
( ∑z′∈C⊥2
∑y∈C2
(−1)(x+y)·(e2+z)|z〉+∑z′ /∈C⊥2
∑y∈C2
(−1)(x+y)·(e2+z)|z〉)
(4.14)
=1√|C2|2n
( ∑z′∈C⊥2
∑y∈C2
(−1)x·z′(−1)y·z
′ |z〉+∑z′ /∈C⊥2
∑y∈C2
(−1)x·z′(−1)y·z
′ |z〉)
(4.15)
By the lemma 4.3.1, this state written as
1√2n/|C2|
∑z′∈C⊥2
(−1)x·z′ |z′ + e2〉. (4.16)
Repeat the same process from the equation 4.8 to the equation 4.11 using
the parity check matrix H2 for C2 to correct e2. Then we obtain the state
1√2n/|C2|
∑z′∈C⊥2
(−1)x·z′ |z′〉. (4.17)
Because the inverse of the Hadamard gate H is itself, applying H⊗n again
we have the original state
1√|C2|
∑y∈C2
|x+ y〉 = |x+ C2〉 (4.18)
such as the state in (4.11) with e2 = 0.
20
Chapter 5
Stabilizer codes
5.1 Stabilizer codes
A stabilizer code is determined by the group of operators which stabilize
the codewords. We say that a state |ψ〉 is stabilized by an operator A if
A|ψ〉 = |ψ〉.
In the stabilizer formalism the group of interest is the Pauli group
Gn = {ασ1 ⊗ · · · ⊗ σn : α = ±1, or± i, σj = I,X, Y, or Z}
acting on n qubits. For a subgroup S of the Pauli group Gn, let VS denote
the vector space stabilized by S, that is,
VS = {|ψ〉 ∈ (C2)⊗n : g|ψ〉 = |ψ〉 for all g ∈ S}.
Then we say that S is the stabilizer of the space VS . Now let’s see the
necessary conditions for VS to be non trivial.
21
CHAPTER 5. STABILIZER CODES
Proposition 5.1.1. Let S be a subgroup of the Pauli group Gn for some
n ∈ N. If VS is non-trivial vector space, then every elements of S commute
and S does not contain −I ∈ Gn.
Proof. Suppose that VS contains an non-zero vecror |ψ〉. Recall that any
pair of elements in Gn is either commute or anti-commute. If there are
elements M , N of S such that MN = −MN , then
|ψ〉 = MN |ψ〉 = −NM |ψ〉 = −|ψ〉.
Also, if −I ∈ S then
|ψ〉 = −I|ψ〉 = −|ψ〉.
But the eqaution |ψ〉 = −|ψ〉 contradicts that |ψ〉 6= 0.
In fact, two conditions stated in the proposition 5.1.1 are also sufficient
conditions of S for VS to be non trivial. We will show that later.
We use the useful notations for characterization of the stabilizer.
Definition 5.1.1. 1. For a element g = ασ1 ⊗ · · · ⊗ σn of Gn, let r(g)
denote the 2n dimensional row vector given by
σj jth entry of r(g) (n+ j)th entry of r(g)
I 0 0
X 1 0
Z 0 1
Y 1 1
2. The check matrix associated with g1, · · · , gl ∈ Gn is an l × 2n matrix
defined by
G =
r(g1)
...
r(gl)
(5.1)
22
CHAPTER 5. STABILIZER CODES
Lemma 5.1.1. Let g1, g2 ∈ Gn.
Then g1 and g2 are commute if and only if r(g1)Λr(g2)T = 0.
Proof. Write r(g1) = [a1 · · · an|an+1 · · · a2n] and r(g2) = [b1 · · · bn|bn+1 · · · b2n].
Then j-th components of g1 and g2 commute if and only if (ajbn+j +
an+jbj) = 0. Thus we have
g1g2 = (−1)∑n
j=1(ajbn+j+an+jbj)g2g1 (5.2)
Since r(g1)Λr(g2) =∑n
j=1(ajbn+j + an+jbj), the equation 5.2 complete the
proof.
Definition 5.1.2. We say that g1, · · · , gl ∈ Gn are independent if
< g1, · · · , gi−1, gi+1, · · · , gl >$< g1, · · · , gl > for any i (5.3)
Lemma 5.1.2 (Proposition 10.3 in [4]). Let S be a subgorup of the Pauli
group Gn generated by g1, · · · gl ∈ Gn such that −I ∈ S. Then the followings
are equivalent.
(i) g1, · · · , gl ∈ Gn are independent.
(ii) r(g1), · · · , r(gl) are linearly independent.
Proof. Note that g2i = I for i = 1, · · · , l since S does not contain −I. Also
r(g) + r(g′) = r(gg′). Suppose that r(g1), · · · , r(gl) are linearly indepen-
dent. Then there are not all zero a1, · · · al ∈ F2, say aj = 1, such that∑li=1 air(gi) = 0. So
∏i gaii ∈ S is the identity up to multiplicative factor.
But by the hypothesis that −I ∈ S implies the multiplicative factor is 1.
Thus∏i gaii ∈ S = I and we have
gj = g−1j =
∏i 6=j
gaii (5.4)
23
CHAPTER 5. STABILIZER CODES
Lemma 5.1.3 (Proposition 10.4 in [4]). Suppose that S is a subgroup of
Gn generated by g1, · · · gl ∈ Gn such that I /∈ S and Fix i ∈ {1, · · · l}. Then
there is a element g of Gn such that
ggjg∗ =
−gj if j = i
gj otherwise
Proof. Let G be the check matrix associated to g1, · · · , gl. Since g1, · · · , glare independent, rows of G are linearly independent by proposition 5.1.2.
Therefore G has the full rank and so there is x ∈ (F2)2n such that
GΛx = ei
where ei is .. Choose g ∈ Gn so that r(g) = xT .
Theorem 5.1.1 (Proposition 10.5 in [4]). Let S =< g1, · · · , gn−k > be a
sungroup of Gn such that
(i) g1, · · · , gn−k are independent and commute
(ii) −I /∈ S
Then VS is a 2k-dimensional vector space.
Proof. For each (n− k)-tuple x = (x1, · · · , xn−k) ∈ (F2)n−k define
P xS :=
∏n−kj=1 (I + (−1)xjgj)
2n−k.
Especialy put
P := P(0,··· ,0)S =
∏n−kj=1 (I + gj)
2n−k
24
CHAPTER 5. STABILIZER CODES
Firstly we will show that P is the projector onto VS . Recall that every
elements of Gn is unitary. Also note that every gj has multiplicative factor
either +1 or −1 since S does not contain −I. So gj ’s are Hermition. Direct
calculation shows that (I+gj
2 )2 =I+gj
2 . Now using commutativity of {gj} we
get P ∗ = P and P 2 = P . Let P =∑
i |vi〉〈vi| be the spectral decomposition.
We claim that {|vi〉} is a orthonormal basis for VS . It suffice to show that
span{|vi〉} = VS . For any j and l,
|vj〉 =∑i
|vi〉〈vi|vj〉 = P |vj〉
=I + gl
2(I + g1
2· · · I + gn−k
2)|vj〉
∈ (+1)− eigen space of gl
So |vj〉 is stabilized by g1, · · · , gn−k, that is, |vj〉 ∈ VS . To show that VS is
spanned by {|vi〉}, let |ψ〉 be an arbitrary element of VS . Observe that
|ψ〉 = P |ψ〉 =∑i
|vi〉〈vi|ψ〉 ∈ span{|vi〉}
By lemma 5.1.3 for each x = (x1, · · · , xn−k) ∈ Fn−k2 there is a elements gx
of Gn such that
gx
∏n−kj=1 (I + gj)
2n−kg∗x =
∏n−kj=1 (I + (−1)xjgj)
2n−k.
In other words, gxPg∗x = P xS . Since gx is unitary, we have
dimP xS = dimP = dimVS , for any x ∈ Fn−k2 (5.5)
Now we claim that P xS ’s are orthogonal for distinct x’s. If x = (x1, · · · , xn−k)and x′ = (x′1, · · · , x′n−k) are distinct, xj 6= x′j for some j. Without loss of
generality, assume xj = 0 and x′j = 1. Then P xS (resp. P x′
S ) contains the pro-
jectorI+gj
2 (resp.I−gj
2 ) onto (+1)-eigenspace of gj (resp. (−1)-eigenspace
25
CHAPTER 5. STABILIZER CODES
of gj). Since eigenvectors with different eigenvalues of Hermition operator
are orhogonal, we conclude that P xS and P x′
S are orthogonal. In the other
hand, observe that
I =∑
x∈Fn−k2
P xS (5.6)
Combining the equation 5.6 and the fact that distinct P xS ’s are orthogonal,
we have
2n = dim I =∑
x∈Fn−k2
dimP xS = 2n−k dimVS .
Thus we conclude that dimVS = 2k.
Definition 5.1.3 (Stabilizer code). Let S =< g1, · · · , gn−k > be a subgroup
of Gn such that.. stabilizer code with the stabilizer S < Gn is defined by
C(S) := VS ⊂ (C2)⊗n
In the above definition, C(S) is a [n, k] code by the theorem 5.1.1.
5.2 Error correction process of stabilizer codes
Theorem 5.2.1 (Error correction conditions for stabilizer codes, Theorem
10.8 in [4]). Let C(S) be a [n, k] stabilizer code with the stabilizer S =<
g1, · · · , gn−k >. Suppose that {Ei} be a subset of Gn such that
E∗i Ej /∈ N(S)− S for all i, j (5.7)
Then {Ei} is a correctable set of errors for C(S).
Proof. Let P be the projector onto C(S). We need to find an Hermition
matrix α satisfying the equation (3.1). By the hypothesis E∗i Ej is either
26
CHAPTER 5. STABILIZER CODES
contained in S or Gn − N(S) for given i, j. If E∗i Ej ∈ S, then E∗jEi =
(E∗i Ej)−1 ∈ S and PE∗i EjP = PE∗jEiP = P . If E∗i Ej ∈ Gn −N(S), then
without loss of generality, we may assume E∗i Ej anti-commute with g1 ∈ Sand commute with other generators. From the proof of theorem 5.1.1, we
know
P =
∏n−kl=1 (I + gl)
2n−k
By anti-commutativity of E∗i Ej and g1, we have
E∗i EjP = (I − g1)E∗i Ek
∏n−kl=2 (I + gl)
2n−k(5.8)
Since (I + g1)(i− g1) = 0, P (I − g1) = 0 and so
PE∗i EjP = 0 (5.9)
Now put
αij =
1 if E∗i Ej ∈ S
0 if E∗i Ej ∈ Gn − S(5.10)
Error correction
Let C(S) be a stabilizer code as in the definition 5.1.3. Suppose that
{Ej} ⊂ Gn satisfy
E∗i Ej /∈ N(S)− S for all i, j (5.11)
If an error Ej occured, we define the error syndrome (β1, · · · , βn−k) for Ej
by
EjglE∗j = βlgl for l = 1, ·, n− k (5.12)
Suppose that an error Ej occur to a state |ψ〉 ∈ C(S). Then we have two
cases.
27
CHAPTER 5. STABILIZER CODES
1. If Ej is the unique error operator having this syndrome then we just
apply E∗j to corrupted state E|ψ〉 to revocer the original state.
2. If distinct errors Ej and Ej′ have the same error syndrome (β1, · · · , βn−k),
EjglE∗j = βlgl = Ej′glE
∗j′ for l = 1, · · · , n− k (5.13)
Hence
(E∗j′Ej)gl(E∗j′Ej)
∗ = gl for l = 1, · · · , n− k (5.14)
and so
E∗j′Ej ∈ Z(S) = N(S). (5.15)
Combining 5.11 and 5.15 we have
E∗j′Ej ∈ S
Therefore we get the original codeword |ψ〉 by applying E∗j′ where Ej
is any error whose error syndrome equals the syndrome of Ej .
How to get the error syndrome
Suppose that |ψ〉 ∈ C(S) and an error E ∈ Gn occur. Note that the any
generator of S is Hermition and has the eigen values (+1) and (−1). Apply
the projective measurement
gl = (+1)I + gl
2+ (−1)
I − gl2
.
If βl = 1, then
I + gl2
E|ψ〉 = EI + gl
2|ψ〉 = E|ψ〉 (5.16)
I − gl2
E|ψ〉 = EI − gl
2|ψ〉 = 0 (5.17)
28
CHAPTER 5. STABILIZER CODES
|0〉 H • H
E|ψ〉 gl
Figure 5.1: Measuring gl
and so p(+1) = 〈ψ|E∗ I+gl2 E|ψ〉 = 〈ψ|E∗E|ψ〉 = 1 and the post state after
the measurement isI+gl
2 E|ψ〉√p(+1)
= E|ψ〉.
If βl = −1, then
I + gl2
E|ψ〉 = EI − gl
2|ψ〉 = 0 (5.18)
I − gl2
E|ψ〉 = EI + gl
2|ψ〉 = E|ψ〉 (5.19)
So we have p(−1) = 1 and post state is E|ψ〉. Thus we can conclude that
βl =
+1, if the measurement outcome is + 1
−1, if the measurement outcome is − 1(5.20)
Quantum circuit measuring glThe state before the measurement in the quantum circuit Figure 5.1 is
|0〉I + gl2
E|ψ〉+ |1〉I − gl2
E|ψ〉 =
|0〉E|ψ〉, if β = 1
|1〉E|ψ〉, if β = −1. (5.21)
Hence we conclude that if the outcome of the measurement on the first
qubit is |0〉[resp. |1〉] , then βl is 1[resp. −1].
Definition 5.2.1. (i) the weight of E ∈ Gn is the number of component
of E which are not equal to the identity
29
CHAPTER 5. STABILIZER CODES
(ii) The distance of an stabilizer code C(S) is defined by
minE∈N(S)−S
{weight of E}
(iii) If C(S) is [n, k] stabilizer code with distance d, then we say that C(S)
is an [n, k, d] stabilizer code.
If C(S) is a [n, k, d] stabilizer code such that d ≥ 2t + 1, then C(S)
is able to correct arbitrary errors on any t qubits. Suppose that {Ej} is a
subset of Gn such that weight of Ej is equal or less than t for every j. Then
wight of E∗jEk is less than 2t. Since d ≥ 2t+ 1, E∗jEk /∈ N(S)− S.
5.3 Describing CSS codes as stabilizer codes
Suppose that Ci be [n, ki] linear codes for i = 1, 2 such that C2 ⊂ C1
and C1, C⊥2 both correct t errors. Consider CSS(C1, C2). Put
G :=
H[C⊥2 ] 0
0 H[C1]
(5.22)
Note that G is a {n−(k1−k2)}×2n matrix. Choose g1, · · · , gn−(k1−k2) ∈ Gnso that
G =
r(g1)
...
r(gn−(k1−k2))
(5.23)
and gi’s multiplicative factor are all 1. Let S be a subgroup of Gn generated
by g1, · · · , gn−(k1−k2). Since the scalar multipliplicative factors of generators
are all 1, S does not contain −I. Since the rows of H[C⊥2 ] and the rows of
H[C1] are linearly independent, respectively, we have the fact that G has
30
CHAPTER 5. STABILIZER CODES
linearly independent rows. So g1, · · · , gn−(k1−k2) are independent by the
lemma 5.1.2. Note that
(GΛGT )ij = eTi GΛGej = (GT ei)TΛGT ej = r(gi)Λr(gj). (5.24)
On the other hand,
GΛGT =
[H[C⊥2 ] 0
0 H[C1]
][0 I
I 0
][H[C⊥2 ] 0
0 H[C1]
]T
=
[0 H[C⊥2 ]
H[C1] 0
][H[C⊥2 ]T 0
0 H[C1]T
]
=
[0 H[C⊥2 ]H[C1]T
H[C1]H[C⊥2 ]T 0
]
=
[0 (H[C1]G[C2])T
H[C1]G[C2] 0
]= O.
(5.25)
In the above equation, H[C1]G[C2] = O follows from the fact that C2 ⊂ C1.
By the equation 5.24 and 5.25, we have
r(gi)Λr(gj)T = 0 for any i, j
and so we conclude that g1, · · · gn−(k1−k2) commute by the proposition ??.
Now consider the [n, k1−k2] stabilizer code C(S) with the stabilizer S. We
shall show that
CSS(C1, C2) = C(S).
Since the dimension of CSS(C1, C2) and C(S) are same as 2k1−k2 , it suffices
to show that CSS(C1, C2) ⊂ C(S). Recall that {|x + C2〉|x ∈ C1} forms
an orthonormal basis for CSS(C1, C2). We will show that∑
y∈C2|x+ y〉 is
stabilized by gl for l = 1, · · ·n− (k1 − k2).
31
CHAPTER 5. STABILIZER CODES
i) 1 ≤ i ≤ k2
r(gi) =[i th row of H[C⊥2 ] 0 · · · 0
]=[
(G[C2]ei)T 0 · · · 0
] (5.26)
and so
gi∑y∈C2
|x+ y〉 =∑y∈C2
|x+ y +G[C2]ei〉
=∑y∈C2
|x+ y〉(5.27)
ii) k2 + 1 ≤ i ≤ n− (k1 − k2)
r(gi) =[
0 · · · 0 (i− k2)th row of H[C1]]
=[
0 · · · 0 eTi−k2H[C1]] (5.28)
and so
gi∑y∈C2
|x+ y〉 =∑y∈C2
(−1)eTi−k2
H[C1](x+y)|x+ y〉
=∑y∈C2
(−1)0|x+ y〉
=∑y∈C2
|x+ y〉
(5.29)
5.4 Standard form and logical basis states
Consider a [n, k] stabilizer code C(S) with the stabilizer S =< g1, · · · , gn−k >and let
G = [G1|G2]
32
CHAPTER 5. STABILIZER CODES
denote the check matrix for C(S) where G1 and G2 are (n−k)×2n matrices.
Between actions on the check matrix G and the stabilizer code C(S), there
exist following correspondence:
swapping rows ←→ relabeling generators
swapping columns on both side ←→ relabeling qubits
adding two rows ←→ multiplying generatorsUsing Gaussian elimination we can obtain an equivalent stabilizer code with
the check matrix in the form
r︷︸︸︷ n−k−r︷︸︸︷ k︷︸︸︷ r︷︸︸︷ n−k−r︷︸︸︷ k︷︸︸︷[I A1 A2 B 0 C
0 0 0 D I E
]} r
} n-k-r(5.30)
where r is the rank of G1. We say that a stabilizer code is in the standard
form if the check matrix of the code is in the form (5.30).
Now suppose we have a [n, k] stabilizer code C(S) in the standard form
G =
[I A1 A2 B 0 C
0 0 0 D I E
]. (5.31)
We will define tha logical Z operators and the logical computational basis
states of this code. Put
Gz =[
0 0 0 AT2 0 I]
and choose operators Z1, · · · , Zk ∈ Gn with the check matrix Gz. Then
[G
Gz
]=
I A1 A2 B 0 C
0 0 0 D I E
0 0 0 AT2 0 I
33
CHAPTER 5. STABILIZER CODES
has the full rank. So g1, · · · , gn−k, Z1, · · · , Zk are independent by the lemma
5.1.2. Also observe that
GΛGTz =
[I A1 A2 B 0 C
0 0 0 D I E
][0 I
I 0
] [0 0 0 AT2 0 I
]T=
[A2 +A2
0
]= 0(n−k)×k
(5.32)
Since (GΛGTz )ij = r(gi)Λr(Zj)T for i = 1, · · · , n− k and j = 1, · · · , k, the
equation 5.32 implies that Zi, i = 1, · · · , k commute with every generators
of S by the lemma 5.1.1. Further, the operators in {Zi} commute with one
other because each operators consist of Pauli Z operators. Thus the set of
operators {g1, · · · , gn−k, Z1, · · · , Zk} is commuting and independent.
we define |x1 · · ·xk〉L be the state stabilized by
g1, · · · , gn−k, (−1)x1Z1, · · · , (−1)xk Zk.
An such state is unique up to global phase since the dimension of the space
V<g1,··· ,gn−k,(−1)x1 Z1,··· ,(−1)xk Zk>is one by the theorem 5.1.1. Furthemore, if
(x1, · · · , xk) 6= (x′1, · · · , x′k) then the states |x1 · · ·xk〉L and |x′1 · · ·x′k〉L are
orthonormal since these states are eigenvectors with different eigenvalues
for some Hermition operator Zi. Thus {|x1 · · ·xk〉L : (x1, · · · , xk) ∈ Fk2}forms a orthonormal basis for C(S).
By the definition of the logocal basis states, the operators Zi play a role
of the Pauli Z operators:
Zi|x1 · · ·xk〉L = (−1)xi |x1 · · ·xk〉
34
CHAPTER 5. STABILIZER CODES
5.5 Encoding Stabililzer Codes
In this section, we will construct an encoding circuit for stabilizer codes.
Suppsoe that we have [n, k] stabilizer code C(S) with the stabilizer S =<
g1, · · · , gn−k > whose check matrix is in the standard form as the equation
5.31.
Logical X operators
In order to use a certain unitary operator L ∈ Gn as a nontrivial logical
operator on C(S), the following two conditions should be satisfied.
1. The operator L commutes with the generators {g1, · · · , gn−k} of the
stabilizer S.
2. The subset {L, g1, · · · , gn−k} is independent.
If the operator L anti-commute with some gi, then L|ψ〉 /∈ C(S) for any
codeword |ψ〉 since L|ψ〉 is not stabilized by gi:
giL|ψ〉 = L(L∗giL)|ψ〉 = L(−gi)|ψ〉 = −L|ψ〉.
Also if L is represented by a product of generators of S, then the operator
L does not change any state in C(S). Recall that the logical Z operators
in the section 5.4 satisfy the two conditions.
Now we will construct the logical X operators. Let
Gx :=[
0 ET I CT 0 0]
(5.33)
and choose X1, · · · , Xk ∈ Gn with the check matrix Gx. Then
[G
Gx
]=
I A1 A2 B 0 C
0 0 0 D I E
0 ET I CT 0 0
(5.34)
35
CHAPTER 5. STABILIZER CODES
has full rank. So g1, · · · , gn−k, X1, · · · , Xk are independent by the lemma
5.1.2. Also, the equation
[G
Gx
]ΛGTx =
I A1 A2 B 0 C
0 0 0 D I E
0 ET I CT 0 0
[ 0 I
I 0
]
0
E
I
C
0
0
=
[C + C
E + E
]= 0n×k
(5.35)
implies that {g1, · · · , gn−k, X1, · · · , Xk} is a commuting set by the lemma
5.1.1. Furthermore,
GzΛGTx =
[0 0 0 AT2 0 I
] [ 0 I
I 0
] [0 ET I CT 0 0
]T= Ik×k.
(5.36)
Hence r(Zi)Λr(Xj)T = (GzΛG
Tx )ij = δij . Thus we have
XjZiXj∗
= (−1)δij Zi (5.37)
The equation 5.37 implies that if a state |ψ〉 is stabilized by Zi then the
state Xj |ψ〉 is stabilized by (−1)δij Zi. Thus the operators X1, · · · , Xk ∈ Gnplay the role of encoded Pauli X operators:
Xj | · · · , cj , · · ·〉L = | · · · , cj + 1, · · ·〉L
36
CHAPTER 5. STABILIZER CODES
Construction of encoding circuit
We want to encode as
|c1 · · · ck〉 −→ |c1 · · · ck〉L. (5.38)
To do this we may describe logical state |c1 · · · ck〉L specifically. Firstly, we
will show that
|0 · · · 0〉L =1√2r
r∏i=1
(I + gi)| 0 · · · 0︸ ︷︷ ︸n
〉. (5.39)
Since the set of generators {g1, · · · , gn−k} of S is a commuting and inde-
pendent set, any element of S is written in the form gx11 · · · gxn−k
n−k uniquely
where (x1, · · · , xn−k) ∈ Fn−k2 . Hence
∑g∈S
g =∑
(x1,··· ,xn−k)
∈Fn−k2
gx11 · · · gxn−k
n−k =n−k∏i=1
(I + gi).
For any g′ ∈ S, the equation g′∑
g∈S g =∑
g∈S g′g =
∑g∈S g holds and so∑
g∈S g|0 · · · 0〉 is stabilized by S. Also, recall that the logical Z operators
consists of only Pauli Z operators and commute with generators of the
stabilizer. So∑
g∈S g|0 · · · 0〉 is stabilized by Z1, · · · , Zk. From the check
matrix of C(S) we can observe that gr+1, · · · , gn−k consist of only Pauli Z
operators and so these stabilize the state |0 · · · 0〉. Therefore
1
2n−k−r
n−k∏i=1
(I + gi)|0 · · · 0〉 =
r∏i=1
(I + gi)|0 · · · 0〉.
So far we have seen that∏ri=1(I+ gi)|0 · · · 0〉 is the vector in C(S) and sta-
bilized by the logical Z operators. Note that gi flips only ith qubits among
the first r qubits for i = 1, · · · , r. So {gx11 · · · gxrr |0 · · · 0〉 : (x1, · · · , xr) ∈ Fr2}
37
CHAPTER 5. STABILIZER CODES
|0〉
Quantum gates
......n− k
|0〉
|c1〉|c1 · · · ck〉L
......
|ck〉
Figure 5.2: Encoding circuit
is an orthonormal set. Thus
1√2r
r∏i=1
(I + gi)|0 · · · 0〉 =1√2r
∑(x1,··· ,xr)∈Fr
2
gx11 · · · gxrr |0 · · · 0〉
is an unit vector and we conclude that the equation 5.39 holds.
Now we have
|c1 · · · ck〉L =k∏j=1
Xjcj |0 · · · 0〉L
=1√2r
k∏j=1
Xjcj
r∏i=1
(I + gi)|0 · · · 0〉
=1√2r
r∏i=1
(I + gi)k∏j=1
Xjcj |0 · · · 0〉.
(5.40)
Using (n− k) ancilla qubits, we will construct encoding circuit of the form
in the figure 5.2. Since the check matrix of X1, · · · , Xk ∈ Gn is
Gx =[
0 ET I CT 0 0],
each logical operators Xi, i = 1, · · · , k can be written as
Xi =
( r∏j=1
Z(CT )ijj
)( n−k−r∏j=1
X(ET )ijr+j
)Xn−k+i, i = 1, · · · , k.
38
CHAPTER 5. STABILIZER CODES
|0〉... · · · ...
r
|0〉|0〉
X1 Xk... · · · ...n− k − r
|0〉
|c1〉 •...
. . ....
|ck〉 • ∗
Figure 5.3: Circuit to get∏kj=1 Xj
cj |0 · · · 0〉
The part of Xi acting on first r qubits,∏rj=1 Z
(CT )ijj , does not change
|0 · · · 0〉 and so we can ignore this part for our purpose. Let Xi denote∏n−k−rj=1 X
(ET )ijr+j . Since the state ontained by applying Xi to a state of the
form | · · · ci︸︷︷︸n−k+i
· · ·〉 controlled on (n−k+i)th qubit equal XiXn−k+i| · · · 0︸︷︷︸n−k+i
· · ·〉,
we get the state∏kj=1 Xj
cj |0 · · · 0〉 by the circuit in the figure 5.3. Note that
the first r qubits of∏kj=1 Xj
cj |0 · · · 0〉 are still |0〉’s.Next step is applying
1√2r
r∏i=1
(I + gi) =1√2r
∑(x1,··· ,xr)∈Fr
2
gx11 · · · gxrr
to the state∏kj=1 Xj
cj |0 · · · 0〉. Let gj denote the operator obtained by re-
placing j th component of gj with I. So we may regard each gj as an
operator not acting jth qubit. Recall the fact that gi flips only ith qubits
39
CHAPTER 5. STABILIZER CODES
|0〉 H Zb11 •gr
......
...
g1
. . ....
|0〉 H Zbrr •
|0〉
X1 Xk
gr
... · · · · · · ...|0〉
|c1〉 •...
. . . · · · ...|ck〉 •
Figure 5.4: Circuit to get |c1 · · · ck〉L
among the first r qubits for i = 1, · · · , r. Then we have( r∏j=1
Cj(gj)
)( r∏j=1
Z(B)jjj
)H⊗r| 0 · · · 0︸ ︷︷ ︸
r
· · ·〉 (5.41)
=
( r∏j=1
Cj(gj)
)( r∏j=1
Z(B)jjj
)(1√2r
∑(x1,··· ,xr)∈Fr
2
|x1 · · ·xr · · ·〉)
(5.42)
=1√2r
r∏j=1
(I + gj)| 0 · · · 0︸ ︷︷ ︸r
· · ·〉 (5.43)
where Cj(U) denote the operator that applying U conditioned on jth qubit.
Thus we can construst an encoding circuit as the figure 5.4
40
Bibliography
[1] A. R. Calderbank and P. W. Shor. Good quantum error-correcting
codes exist. Phys. Rev. A, 54:1098, 1996. arXive e-print quant-
ph/9512032.
[2] D. Gottesman. Stabilizer Codes and Quantum Error Correction. Ph.D.
thesis, California Institute of Technology, Pasadena, CA, 1997.
[3] F. J. MacWilliams and N. J. A. Sloane. The Theory of Error-correcting
Codes. North-Holland, Amsterdam, 1977.
[4] M. Nielsen and I. Chuang. Quantum Computation and Quantum Infor-
mation 10th Anniversary Edition. Cambridge University Press, 2010.
[5] J. Preskill. Lecture Notes for Physics 229: Quantum Information and
Computation. California Institute of Technology, 1998.
[6] P. Shor. Algorithms for quantum computation: discrete logarithms and
factoring. Proceedings, 35th Annual Symposium on Fundamentals of
Computer Science, 1994.
[7] P. Shor. Scheme for reducing decoherence in quantum computer mem-
ory. Phys. Rev. A, 52:2493, 1995.
41
BIBLIOGRAPHY
[8] A. M. Steane. Error correcting codes in quantum theory. Phys. Rev.
Lett., 77:793, 1996.
[9] A. M. Steane. Multiple particle interference and quantum error correc-
tion. Proc. R. Soc. London A, 452:2551–76, 1996.
[10] J. Watrous. The Theory of Quantum Information, 2017. to be pub-
lished by Cambridge University Press.
42
국 문 초 록
양자오류정정부호는 양자 정보를 오류로부터 보호하기 위해 사용된다. 이
논문에서 우리는 CSS부호와 안정 부호의 구조와 오류 정정 과정에 대해서 설
명한다. 또한 CSS부호를 안정 부호의 맥락에서 설명하고, 안정 부호의 논리적
기저 상태와 부호화 회로에 대해서 논의한다.
주요어휘 : 양자오류정정부호, CSS부호, 안정 부호
학번 : 2014-22356