You are on page 1of 48

이학석사 학위논문

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
α|0i + β|1i
for some fixed orthonormal basis {|0i, |1i} 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 i : xi = 0 or 1} forms
n
an orthonormal basis for n qubits space (C2 )⊗n = C2 . We say that these
states |0 · · · 0i, · · · , |1 · · · 1i 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)i denote the state of the system at
time t. Then the equation

|ψ(t2 )i = U (t1 , t2 )|ψ(t1 )i

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 Schrödinger 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:
X

Mm Mm = I.
m
The operators Mm are called the measurement operators and the index m
refers to the measurement outcomes. If we have a state vector |ψi then the
result m occur with the probability

p(m) = hψ|Mm Mm |ψi.

The completeness equation shows the fact that the sum of probabilities is
one:
X X X
∗ ∗
p(m) = hψ|Mm Mm |ψi = hψ| Mm Mm |ψi = hψ|ψi = 1.
m m m
Given that outcome is m occurred, the state after the measurement is
Mm |ψi Mm |ψi
p =p .

hψ|Mm Mm |ψi 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
X
M= λm Pm
m

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) = hψ|Pm |ψi

, and the state after the measurement is


P
p m .
p(m)

The phrase ’measure in an orthonormal basis {|ψm i}’ means to perform


the measurement with the measurement operators |ψm ihψm | , or equiva-
lently, to perform the projective measurement with Pm = |ψm ihψ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 |ψi corresponds to the operator


|ψihψ|. Suppose that the state vector of a quantum system is |ψi i with
P
respective probabilities pi . Note that the linear combination i pi |ψi i is
NOT a state vector in general. But the ensemble {pi , |ψi i} can be associated
P
to the density operator i pi |ψi ihψ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(Mm Mm ρ),

and the state after the measurement is



Mm ρMm Mm ρMm∗

= .
tr(Mm Mm ρ) 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


X
Ei∗ Ei = I
i

and
X
Φ(ρ) = Ei ρEi∗ (2.1)
i

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 i in Henv such that

Φ(ρ) = trenv [U (ρ ⊗ |e0 ihe0 |)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
X
ρ 7−→ Φ(ρ) = Ei ρEi∗
i
X Ei ρEi∗
= tr(Ei ρEi∗ ) , for ρ ∈ D(H).
tr(Ei ρEi∗ )
i

If ρ is a density operator then Ei ρEi∗ /tr(Ei ρEi∗ ) is also a density operator


for each index i. Also note that i tr(Ei ρEi∗ ) = i tr(Ei∗ Ei ρ) = 1 since
P P
P ∗
i Ei Ei = I. When quantum channel Φ is applied to the state ρ, it is
interpreted that state
Ek ρEk∗
ρk =
tr(Ek ρEk∗ )
is obtained with probability

p(k) = tr(Ek ρEk∗ ).

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 encoded Quantum transmitted original


state Encoding state channel state Decoding state

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.

n qubit space

n n
k qubit Unitary [n, k] Φ : B(C2 ) → B(C2 )
space encoding code C

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 ∗
!
0 1
where p ∈ [0, 1] is fixed and X is the Pauli sigma x operator .
1 0
√ √
Observe that the errors for the bit filp channel are 1 − pI and pX. Since
this channel takes the state |ψi to the state X|ψi 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

P Ei∗ Ej P = αij P. (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
X
Ei = uij Fj . (3.2)
j

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
X
Fj = mji Ei
i

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:
! ! ! !
1 0 0 1 0 i 1 0
I= , X= , Y = , Z=
0 1 1 0 −i 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) × n


matrix H which has linearly independent rows with entries in F2 such that

C = ker H.

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 0 , that is, y 0 = 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 0 . Conversely if we get the original codeword y by some way,
then the error can be calculated easily : e = y 0 + 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) := min d(x, y) = min wt(x)


x,y∈C, x6=y x∈C, x6=0

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) = min wt(x).


x∈C, x6=0

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 0 := 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 0 = H(y + e) = Hy + He = 0 + He = He.

So we can get the original codeword y by adding the error e to y 0 :

y = y0 + e

In the proof of the theorem 4.1.1 the equation Hy 0 = 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 H T and the parity check matrix GT is called the dual of C, and
denoted by C ⊥ .

In the above definition, the generator matrix H T 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 
C ⊂ C
2 1
(4.3)
C and C ⊥ both correct t bits errors
1 2

Then the CSS code of C1 over C2 is defined by

CSS(C1 , C2 ) = span{|x + C2 i : x ∈ C1 } ⊂ (C2 )⊗n (4.4)

where
1 X
|x + C2 i = |x + yi (4.5)
|C2 |
y∈C2

and the sum x + y in the equation 4.5 is bitwise addition modulo 2.

Note that if x + C2 and x0 + C2 are different cosets, then x + y 6= x0 + y 0


for any y, y 0 ∈ C2 and so |x + C2 i and |x0 + C2 i 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,



X |C|, if x ∈ C ⊥
(−1)x·y = (4.6)
y∈C
0, if x ∈/ C⊥

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 = Gx0 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 = xT Gx0 = (GT x)T x0 = 0T x0 = 0

Conversely, if x · y = 0 for any y ∈ C,


   
v1T v1 · x
..  x =  ...  = 0
GT x = 
   
 .   
vkT vk · x
where vi = Gei ∈ C for i = 1, · · · , k.
Now oberve that if x ∈ C ⊥ then
X X
(−1)x·y = (−1)0 = |C|,
y∈C y∈C

/ C ⊥ then there is an element z of C such that x · z = 1 and


and if x ∈
X X X
(−1)x·y = (−1)x·(y+z) = − (−1)x·y .
y∈C y∈C y∈C
x·y
P
Thus we have y∈C (−1) = 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 i and the corrupted state is
1 X
(−1)(x+y)·e2 |x + y + e1 i (4.7)
|C2 |
y∈C2

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
Q

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 |1i in terms of the computa-
tional basis. Then we get the state
1 X
(−1)(x+y)·e2 |x + y + e1 i|H1 (x + y + e1 )i. (4.8)
|C2 |
y∈C2

Since x + y is a codeword in C1 , it become


1 X
(−1)(x+y)·e2 |x + y + e1 i|H1 e1 i. (4.9)
|C2 |
y∈C2

Measure the last (n − k1 ) qubits in computational basis to obtain H1 e1 .


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 X
(−1)(x+y)·e2 |x + y + e1 i. (4.10)
|C2 |
y∈C2

Correct bit flip error by applying Pauli X operators to qubits at which


corresponding component of e1 is 1, giving the state
1 X
(−1)(x+y)·e2 |x + yi. (4.11)
|C2 |
y∈C2
" #⊗n
√1 √1
Apply the Hadamard transform H ⊗n = 2
−1
2 to detect phase flip
√1 √
2 2
errors, taking the state to
1 X X 0
p (−1)(x+y)·z |z 0 + e2 i. (4.12)
n
|C2 |2 z∈Fn y∈C2
2

19
CHAPTER 4. CALDERBANK-SHOR-STEAN CODES

Putting z 0 := z + e2 , we have
1 X X
p (−1)(x+y)·(e2 +z) |zi (4.13)
|C2 |2n z 0 ∈Fn y∈C2
2

 X X 
1 (x+y)·(e2 +z)
X X
(x+y)·(e2 +z)
=p (−1) |zi + (−1) |zi
|C2 |2n
z 0 ∈C2⊥ y∈C2 / 2⊥
z 0 ∈C y∈C2

 X X (4.14)

1 x·z 0 y·z 0
X X
x·z 0 y·z 0
=p (−1) (−1) |zi + (−1) (−1) |zi
|C2 |2n
z 0 ∈C2⊥ y∈C2 / 2⊥
z 0 ∈C y∈C2
(4.15)
By the lemma 4.3.1, this state written as
1 X 0
p (−1)x·z |z 0 + e2 i. (4.16)
2n /|C2 |
z 0 ∈C2⊥

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 X 0
p (−1)x·z |z 0 i. (4.17)
n
2 /|C2 | 0 ⊥
z ∈C2

Because the inverse of the Hadamard gate H is itself, applying H ⊗n again


we have the original state
1 X
p |x + yi = |x + C2 i (4.18)
|C2 | y∈C2

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 |ψi is stabilized by an operator A if

A|ψi = |ψi.

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 = {|ψi ∈ (C2 )⊗n : g|ψi = |ψi 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 |ψi. Recall that any
pair of elements in Gn is either commute or anti-commute. If there are
elements M , N of S such that M N = −M N , then

|ψi = M N |ψi = −N M |ψi = −|ψi.

Also, if −I ∈ S then
|ψi = −I|ψi = −|ψi.
But the eqaution |ψi = −|ψi contradicts that |ψi =
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  
r(g1 )
 . 
G =  ..
 
 (5.1)
r(gl )

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 (aj bn+j +
an+j bj ) = 0. Thus we have
Pn
g1 g2 = (−1) j=1 (aj bn+j +an+j bj ) g2 g1 (5.2)

Since r(g1 )Λr(g2 ) = nj=1 (aj bn+j + an+j bj ), the equation 5.2 complete the
P

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 gi2 = I for i = 1, · · · , l since S does not contain −I. Also
r(g) + r(g 0 ) = r(gg 0 ). Suppose that r(g1 ), · · · , r(gl ) are linearly indepen-
dent. Then there are not all zero a1 , · · · al ∈ F2 , say aj = 1, such that
Pl Q ai
i=1 ai r(gi ) = 0. So i gi ∈ S is the identity up to multiplicative factor.
But by the hypothesis that −I ∈ S implies the multiplicative factor is 1.
Thus i giai ∈ S = I and we have
Q
Y a
gj = gj−1 = gi i (5.4)
i6=j

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

−g if j = i
j
ggj g ∗ =
g otherwise
j

Proof. Let G be the check matrix associated to g1 , · · · , gl . Since g1 , · · · , gl


are 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


Qn−k
j=1 (I + (−1)xj gj )
PSx := .
2n−k
Especialy put
Qn−k
(0,··· ,0) j=1 (I + gj )
P := PS =
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
I+g I+g
calculation shows that ( 2 j )2 = 2 j . Now using commutativity of {gj } we
get P ∗ = P and P 2 = P . Let P = i |vi ihvi | be the spectral decomposition.
P

We claim that {|vi i} is a orthonormal basis for VS . It suffice to show that


span{|vi i} = VS . For any j and l,
X
|vj i = |vi ihvi |vj i = P |vj i
i
I + gl I + g1 I + gn−k
= ( ··· )|vj i
2 2 2
∈ (+1) − eigen space of gl

So |vj i is stabilized by g1 , · · · , gn−k , that is, |vj i ∈ VS . To show that VS is


spanned by {|vi i}, let |ψi be an arbitrary element of VS . Observe that
X
|ψi = P |ψi = |vi ihvi |ψi ∈ span{|vi i}
i

By lemma 5.1.3 for each x = (x1 , · · · , xn−k ) ∈ F2n−k there is a elements gx


of Gn such that
Qn−k Qn−k xj
j=1 (I + gj ) ∗ j=1 (I + (−1) gj )
gx gx = .
2n−k 2n−k
In other words, gx P gx∗ = PSx . Since gx is unitary, we have

dim PSx = dim P = dim VS , for any x ∈ F2n−k (5.5)

Now we claim that PSx ’s are orthogonal for distinct x’s. If x = (x1 , · · · , xn−k )
and x0 = (x01 , · · · , x0n−k ) are distinct, xj 6= x0j for some j. Without loss of
0
generality, assume xj = 0 and x0j = 1. Then PSx (resp. PSx ) contains the pro-
I+g I−g
jector 2 j (resp. 2 j ) onto (+1)-eigenspace of gj (resp. (−1)-eigenspace

25
CHAPTER 5. STABILIZER CODES

of gj ). Since eigenvectors with different eigenvalues of Hermition operator


0
are orhogonal, we conclude that PSx and PSx are orthogonal. In the other
hand, observe that
X
I= PSx (5.6)
x∈F2n−k

Combining the equation 5.6 and the fact that distinct PSx ’s are orthogonal,
we have
X
2n = dim I = dim PSx = 2n−k dim VS .
x∈Fn−k
2

Thus we conclude that dim VS = 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

Ei∗ 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 Ei∗ Ej is either

26
CHAPTER 5. STABILIZER CODES

contained in S or Gn − N (S) for given i, j. If Ei∗ Ej ∈ S, then Ej∗ Ei =


(Ei∗ Ej )−1 ∈ S and P Ei∗ Ej P = P Ej∗ Ei P = P . If Ei∗ Ej ∈ Gn − N (S), then
without loss of generality, we may assume Ei∗ Ej anti-commute with g1 ∈ S
and commute with other generators. From the proof of theorem 5.1.1, we
know Qn−k
(I + gl )
P = l=1 n−k
2
By anti-commutativity of Ei∗ Ej and g1 , we have
Qn−k
(I + gl )
Ei∗ Ej P = (I − g1 )Ei∗ Ek l=2
(5.8)
2n−k
Since (I + g1 )(i − g1 ) = 0, P (I − g1 ) = 0 and so

P Ei∗ Ej P = 0 (5.9)

Now put 
1 if E ∗ E ∈ S
i j
αij = (5.10)
0 if E ∗ E ∈ G − S
i j n

Error correction
Let C(S) be a stabilizer code as in the definition 5.1.3. Suppose that
{Ej } ⊂ Gn satisfy
Ei∗ 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
Ej gl Ej∗ = βl gl for l = 1, ·, n − k (5.12)

Suppose that an error Ej occur to a state |ψi ∈ 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 Ej∗ to corrupted state E|ψi to revocer the original state.

2. If distinct errors Ej and Ej 0 have the same error syndrome (β1 , · · · , βn−k ),

Ej gl Ej∗ = βl gl = Ej 0 gl Ej∗0 for l = 1, · · · , n − k (5.13)

Hence
(Ej∗0 Ej )gl (Ej∗0 Ej )∗ = gl for l = 1, · · · , n − k (5.14)

and so
Ej∗0 Ej ∈ Z(S) = N (S). (5.15)

Combining 5.11 and 5.15 we have

Ej∗0 Ej ∈ S

Therefore we get the original codeword |ψi by applying Ej∗0 where Ej


is any error whose error syndrome equals the syndrome of Ej .

How to get the error syndrome


Suppose that |ψi ∈ 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
I + gl I − gl
gl = (+1) + (−1) .
2 2
If βl = 1, then
I + gl I + gl
E|ψi = E |ψi = E|ψi (5.16)
2 2
I − gl I − gl
E|ψi = E |ψi = 0 (5.17)
2 2

28
CHAPTER 5. STABILIZER CODES

|0i H • H

E|ψi gl

Figure 5.1: Measuring gl

and so p(+1) = hψ|E ∗ I+g ∗


2 E|ψi = hψ|E E|ψi = 1 and the post state after
l

the measurement is
I+gl
E|ψi
p2 = E|ψi.
p(+1)
If βl = −1, then
I + gl I − gl
E|ψi = E |ψi = 0 (5.18)
2 2
I − gl I + gl
E|ψi = E |ψi = E|ψi (5.19)
2 2
So we have p(−1) = 1 and post state is E|ψi. Thus we can conclude that

+1, if the measurement outcome is + 1
βl = (5.20)
−1, if the measurement outcome is − 1

Quantum circuit measuring gl


The state before the measurement in the quantum circuit Figure 5.1 is

I + gl I − gl |0iE|ψi, if β = 1
|0i E|ψi + |1i E|ψi = . (5.21)
2 2 |1iE|ψi, if β = −1

Hence we conclude that if the outcome of the measurement on the first


qubit is |0i[resp. |1i] , 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

min {weight of E}
E∈N (S)−S

(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 Ej∗ Ek is less than 2t. Since d ≥ 2t + 1, Ej∗ Ek ∈
/ 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 , C2⊥ both correct t errors. Consider CSS(C1 , C2 ). Put
 

 H[C2 ] 0
G :=  (5.22)


0 H[C1 ]

Note that G is a {n−(k1 −k2 )}×2n matrix. Choose g1 , · · · , gn−(k1 −k2 ) ∈ Gn


so that  
r(g1 )
 .. 
G=  . 
 (5.23)
r(gn−(k1 −k2 ) )
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[C2⊥ ] 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,


" #" #" #T
T H[C2⊥ ] 0 0 I H[C2⊥ ] 0
GΛG =
0 H[C1 ] I 0 0 H[C1 ]
" #" #
0 H[C2⊥ ] H[C2⊥ ]T 0
=
H[C1 ] 0 0 H[C1 ]T
" # (5.25)
0 H[C2⊥ ]H[C1 ]T
=
H[C1 ]H[C2⊥ ]T 0
" #
0 (H[C1 ]G[C2 ])T
= = O.
H[C1 ]G[C2 ] 0

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 i|x ∈ C1 } forms
P
an orthonormal basis for CSS(C1 , C2 ). We will show that y∈C2 |x + yi is
stabilized by gl for l = 1, · · · n − (k1 − k2 ).

31
CHAPTER 5. STABILIZER CODES

i) 1 ≤ i ≤ k2
h i
r(gi ) = i th row of H[C2⊥ ] 0 · · · 0
h i (5.26)
= (G[C2 ]ei )T 0 · · · 0
and so
X X
gi |x + yi = |x + y + G[C2 ]ei i
y∈C2 y∈C2
X (5.27)
= |x + yi
y∈C2

ii) k2 + 1 ≤ i ≤ n − (k1 − k2 )
h i
r(gi ) = 0 · · · 0 (i − k2 )th row of H[C1 ]
h i (5.28)
= 0 · · · 0 eTi−k2 H[C1 ]
and so

eT
i−k H[C1 ](x+y)
X X
gi |x + yi = (−1) 2 |x + yi
y∈C2 y∈C2
X
= (−1)0 |x + yi (5.29)
y∈C2
X
= |x + yi
y∈C2

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 generators
Using 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
z}|{ z}|{ z}|{ z}|{ z}|{ z}|{
" #
I A 1 A2 B 0 C }r
(5.30)
0 0 0 D I E } n-k-r

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
" #
I A1 A2 B 0 C
G= . (5.31)
0 0 0 D I E

We will define tha logical Z operators and the logical computational basis
states of this code. Put
h i
Gz = 0 0 0 AT2 0 I

and choose operators Z¯1 , · · · , Z¯k ∈ Gn with the check matrix Gz . Then
 
" # I A1 A2 B 0 C
G
= 0 0 0 D I E 
 
Gz
0 0 0 AT2 0 I

33
CHAPTER 5. STABILIZER CODES

has the full rank. So g1 , · · · , gn−k , Z¯1 , · · · , Z¯k are independent by the lemma
5.1.2. Also observe that
" #" #
I A 1 A 2 B 0 C 0 I h iT
GΛGTz = 0 0 0 AT2 0 I
0 0 0 D I E I 0
" #
A2 + A2
= = 0(n−k)×k
0
(5.32)

Since (GΛGTz )ij = r(gi )Λr(Z̄j )T for i = 1, · · · , n − k and j = 1, · · · , k, the


equation 5.32 implies that Z̄i , i = 1, · · · , k commute with every generators
of S by the lemma 5.1.1. Further, the operators in {Z̄i } commute with one
other because each operators consist of Pauli Z operators. Thus the set of
operators {g1 , · · · , gn−k , Z¯1 , · · · , Z¯k } is commuting and independent.
we define |x1 · · · xk iL be the state stabilized by

g1 , · · · , gn−k , (−1)x1 Z¯1 , · · · , (−1)xk Z¯k .

An such state is unique up to global phase since the dimension of the space
V<g1 ,··· ,gn−k ,(−1)x1 Z¯1 ,··· ,(−1)xk Z¯k > is one by the theorem 5.1.1. Furthemore, if
(x1 , · · · , xk ) 6= (x01 , · · · , x0k ) then the states |x1 · · · xk iL and |x01 · · · x0k iL are
orthonormal since these states are eigenvectors with different eigenvalues
for some Hermition operator Z̄i . Thus {|x1 · · · xk iL : (x1 , · · · , xk ) ∈ Fk2 }
forms a orthonormal basis for C(S).
By the definition of the logocal basis states, the operators Z̄i play a role
of the Pauli Z operators:

Z̄i |x1 · · · xk iL = (−1)xi |x1 · · · xk i

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|ψi ∈


/ C(S) for any
codeword |ψi since L|ψi is not stabilized by gi :

gi L|ψi = L(L∗ gi L)|ψi = L(−gi )|ψi = −L|ψi.

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
h i
Gx := 0 E T I C T 0 0 (5.33)

and choose X̄1 , · · · , X̄k ∈ Gn with the check matrix Gx . Then


 
" # I A1 A2 B 0 C
G
= 0 0 0 D I E  (5.34)
 
Gx
0 ET I CT 0 0

35
CHAPTER 5. STABILIZER CODES

has full rank. So g1 , · · · , gn−k , X̄1 , · · · , X̄k are independent by the lemma
5.1.2. Also, the equation
 
0
 
# E
   
" # I A 1 A2 B 0 C " 
G  0 I  I
 
ΛGTx =  0 0 0 D I E 
 
 
Gx T T
I 0   C

0 E I C 0 0  0

 (5.35)
 
0
" #
C +C
= = 0n×k
E+E

implies that {g1 , · · · , gn−k , X̄1 , · · · , X̄k } is a commuting set by the lemma
5.1.1. Furthermore,
" #
h i 0 I h iT
T
Gz ΛGx = 0 0 0 AT2 0 I 0 ET I CT 0 0
I 0
= Ik×k .
(5.36)

Hence r(Z̄i )Λr(X̄j )T = (Gz ΛGTx )ij = δij . Thus we have



X̄j Z̄i X̄j = (−1)δij Z̄i (5.37)

The equation 5.37 implies that if a state |ψi is stabilized by Z̄i then the
state X̄j |ψi is stabilized by (−1)δij Z̄i . Thus the operators X̄1 , · · · , X̄k ∈ Gn
play the role of encoded Pauli X operators:

X̄j | · · · , cj , · · ·iL = | · · · , cj + 1, · · ·iL

36
CHAPTER 5. STABILIZER CODES

Construction of encoding circuit


We want to encode as

|c1 · · · ck i −→ |c1 · · · ck iL . (5.38)

To do this we may describe logical state |c1 · · · ck iL specifically. Firstly, we


will show that
r
1 Y
|0 · · · 0iL = √ (I + gi )| 0| ·{z
· · 0}i. (5.39)
2r i=1 n

Since the set of generators {g1 , · · · , gn−k } of S is a commuting and inde-


xn−k
pendent set, any element of S is written in the form g1x1 · · · gn−k uniquely
n−k
where (x1 , · · · , xn−k ) ∈ F2 . Hence
n−k
x
X X Y
g= g1x1 · · · gn−k
n−k
= (I + gi ).
g∈S (x1 ,··· ,xn−k ) i=1
∈Fn−k2

For any g 0 ∈ S, the equation g 0 g∈S g = g∈S g 0 g = g∈S g holds and so


P P P
P
g∈S g|0 · · · 0i is stabilized by S. Also, recall that the logical Z operators
consists of only Pauli Z operators and commute with generators of the
P ¯ ¯
stabilizer. So g∈S g|0 · · · 0i 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 · · · 0i. Therefore
n−k r
1 Y Y
(I + gi )|0 · · · 0i = (I + gi )|0 · · · 0i.
2n−k−r
i=1 i=1

So far we have seen that ri=1 (I + gi )|0 · · · 0i is the vector in C(S) and sta-
Q

bilized by the logical Z operators. Note that gi flips only ith qubits among
the first r qubits for i = 1, · · · , r. So {g1x1 · · · grxr |0 · · · 0i : (x1 , · · · , xr ) ∈ Fr2 }

37
CHAPTER 5. STABILIZER CODES

 |0i
 

.. ..

n−k . .





|0i



Quantum gates |c1 · · · ck iL
|c1 i 

.. ..



. . 


|ck i

Figure 5.2: Encoding circuit

is an orthonormal set. Thus


r
1 Y 1 X
√ (I + gi )|0 · · · 0i = √ g1x1 · · · grxr |0 · · · 0i
r
2 i=1 2r (x1 ,··· ,xr )
∈Fr2

is an unit vector and we conclude that the equation 5.39 holds.


Now we have
k
c
Y
|c1 · · · ck iL = X̄j j |0 · · · 0iL
j=1
k r
1 Y cj Y
=√ X̄j (I + gi )|0 · · · 0i (5.40)
2r j=1 i=1
r k
1 Y Y c
=√ (I + gi ) X̄j j |0 · · · 0i.
r
2 i=1 j=1

Using (n − k) ancilla qubits, we will construct encoding circuit of the form


in the figure 5.2. Since the check matrix of X̄1 , · · · , X̄k ∈ Gn is
h i
Gx = 0 E T I C T 0 0 ,

each logical operators X̄i , i = 1, · · · , k can be written as


Y r  n−k−r 
(C T )ij (E T )ij
Y
X̄i = Zj Xr+j Xn−k+i , i = 1, · · · , k.
j=1 j=1

38
CHAPTER 5. STABILIZER CODES

 |0i

r .. ··· ..
 . .
|0i

 |0i


.. X ··· X ..
n−k−r  .
f1 fk
.

|0i
|c1 i •
.. .. ..
. . .
|ck i • ∗
Qk cj
Figure 5.3: Circuit to get j=1 X̄j |0 · · · 0i

(C T )ij
The part of X̄i acting on first r qubits, rj=1 Zj
Q
, does not change
|0 · · · 0i and so we can ignore this part for our purpose. Let X fi denote
Qn−k−r (E T )ij
j=1 Xr+j . Since the state ontained by applying X fi to a state of the
form | · · · ci · · ·i controlled on (n−k+i)th qubit equal X fi Xn−k+i | · · · 0 · · ·i,
|{z}
|{z}
n−k+i n−k+i
c
we get the state kj=1 X̄j j |0 · · · 0i by the circuit in the figure 5.3. Note that
Q
c
the first r qubits of kj=1 X̄j j |0 · · · 0i are still |0i’s.
Q

Next step is applying


r
1 Y 1 X
√ (I + gi ) = √ g1x1 · · · grxr
r
2 i=1 2r (x1 ,··· ,xr )
∈Fr2

c
to the state kj=1 X̄j j |0 · · · 0i. Let gej denote the operator obtained by re-
Q

placing j th component of gj with I. So we may regard each gej as an


operator not acting jth qubit. Recall the fact that gi flips only ith qubits

39
CHAPTER 5. STABILIZER CODES

|0i H Z b11 •
ger
.. .. .. .. ..
. . . . .
|0i H Z brr •

|0i
.. X ··· X ··· ..
.
f1 fk ge1 .
|0i
ger
|c1 i •
.. .. ··· ..
. . .
|ck i •
Figure 5.4: Circuit to get |c1 · · · ck iL

among the first r qubits for i = 1, · · · , r. Then we have


r
Y r
 Y 
(B)jj
Cj (gej ) Zj H ⊗r | 0| ·{z
· · 0} · · ·i (5.41)
j=1 j=1 r
Yr  Yr  
(B)jj 1 X
= Cj (gej ) Zj √ |x1 · · · xr · · ·i (5.42)
j=1 j=1
2r (x1 ,··· ,xr )
∈Fr2
r
1 Y
=√ (I + gj )| |0 ·{z
· · 0} · · ·i (5.43)
2r j=1 r

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

You might also like