<<

UC Riverside UC Riverside Electronic Theses and Dissertations

Title Codeword Stabilized Quantum Codes and Their Error Correction

Permalink https://escholarship.org/uc/item/67h4j8p8

Author Li, Yunfan

Publication Date 2010

Peer reviewed|Thesis/dissertation

eScholarship.org Powered by the California Digital Library University of California UNIVERSITY OF CALIFORNIA RIVERSIDE

Codeword Stabilized Quantum Codes and Their Error Correction

A Dissertation submitted in partial satisfaction of the requirements for the degree of

Doctor of Philosophy

in

Electrical Engineering

by

Yunfan Li

August 2010

Dissertation Committee:

Dr. Ilya Dumer, Chairperson Dr. Leonid Pryadko Dr. Alexander N. Korotkov Copyright by Yunfan Li 2010 The Dissertation of Yunfan Li is approved:

Committee Chairperson

University of California, Riverside Acknowledgments

I would like to thank all people who have helped and inspired me during my doctoral study.

I especially want to thank my advisor, Professor Ilya Dumer, for his important and valuable guidance during my research and study at UC Riverside. His perpetual energy and enthusiasm in research had motivated me. In addition, he was always willing to help his students with their research. As a result, research life became smooth and rewarding for me.

I was delighted to interact with Professor Leonid Pryadko by attending his classes and having him as my co-advisor. I want to thank him for his guidance and joint effort in my research. I would like to thank Professor Alexander N. Korotkov. I got deep understanding about quantum computation and quantum error correcting codes from his lectures. I also want to express my thanks to Bei Zeng for the detailed explanation of the CWS code construction, to Markus Grassl for the important joint effort.

My graduate career was supported in part by the NSF grant No. 0622242.

iv ABSTRACT OF THE DISSERTATION

Codeword Stabilized Quantum Codes and Their Error Correction

by

Yunfan Li

Doctor of Philosophy, Graduate Program in Electrical Engineering University of California, Riverside, August 2010 Dr. Ilya Dumer, Chairperson

Quantum decoherence and errors represent some of the major challenges arising in quan- tum computations. Quantum error correcting codes protect quantum states against these errors and make more reliable. One of the main problems of is the design of feasible decoding algorithms that can sim- plify error-correction for general quantum codes. The dissertation addresses decoding of general Codeword Stabilized (CWS) codes. This class of quantum codes also includes some other important classes such as additive Stabilizer codes and non-additive Union

Stabilizer (USt) codes.

We first design a generic error-correcting algorithm for CWS codes and analyze the number of decoding measurements and quantum gates. This algorithm performs exhaustive screening of different error patterns, similar to decoding of classical non- linear codes. For an n- quantum code correcting up to t erroneous , this brute-force approach consecutively tests all correctable error patterns and employs a separate n-qubit measurement in each test.

The main result is a new error grouping technique that enables simultaneous testing of large groups of errors in a single measurement. To achieve this reduction,

v we first proceed with a new error-correction algorithm for the USt codes. Secondly, we design an algorithm that converts generic non-linear CWS codes into the simpler quasi-linear USt codes. Each decoding measurement can then either locate the actual error in a given of errors or entirely eliminate this group. This technique yields a much simpler algorithm that exponentially reduces the number of measurements about

3t times in any t-error-correcting CWS code.

vi Contents

List of Figures ix

1 Introduction 1 1.1 Quantum Computation and Error Correcting Codes ...... 1 1.2 ClassicalErrorCorrectingCodes ...... 5 1.2.1 CommunicationSystem ...... 5 1.2.2 BasicsofErrorCorrectingCodes ...... 10 1.2.3 BinaryLinearBlockCodes ...... 11 1.2.4 Bounds ...... 13 1.3 BasicsofQuantumComputation ...... 14 1.3.1 Wave Function and Schr¨odinger Equations ...... 14 1.3.2 Observable ...... 17 1.3.3 QubitsandQuantumGates ...... 17 1.3.4 BipartiteSystem ...... 21

2 Stabilizer Quantum Codes 25 2.1 Notations ...... 25 2.2 General QuantumErrorCorrectingCodes ...... 27 2.3 StabilizerCodes ...... 29 2.4 DualSpaceofStabilizer ...... 31

3 Codeword Stabilized Codes 35 3.1 UnionStabilizercodes ...... 35 3.2 Graphstates ...... 36 3.3 CWScodesandStandardForm...... 38 3.4 GenericrecoveryforCWScodes ...... 41

4 Union Stabilizer Quantum Codes 46 4.1 Algebraofmeasurements ...... 46 4.2 Error detection for union stabilizer codes ...... 50

5 Clustered Error Correct 52 5.1 StructuredmeasurementforCWScodes ...... 52 5.1.1 Groupingcorrectableerrors ...... 52 5.1.2 Complexity of a combined measurement ...... 55 5.1.3 AdditiveCWScodes...... 56 5.1.4 GenericCWScodes ...... 58

vii 5.1.5 GeneralUStcodes ...... 60 5.1.6 Error correction beyond t ...... 60

6 Conclusions 62

Bibliography 68

viii List of Figures

1.1 Analogmodulations ...... 6 1.2 Digitalmodulations...... 8 1.3 Block diagram of a communication system...... 9 1.4 PauliGates ...... 18 1.5 Hadamardgate...... 19 1.6 Hadamardgateonvectors...... 20 1.7 Hadamardgate...... 24 1.8 CNOTgate...... 24

2.1 Measurement of an observable M with all eigenvalues 1...... 26 ± 3.1 Union of 3 shifts of a 2-dimensional G...... 36 3.2 Ring graphs with (a) 3 vertices and (b) 5 vertices...... 37 3.3 Circuit for generating 3 vertices graph states...... 38

3.4 Operators Mci , i = 0,..., 5 for [[5, 6, 2]] code in example 3...... 43 3.5 M for [[5, 6, 2]]codeinexample3...... 43 C 3.6 Decomposition of n-qubit controlled-Z gate CZ in terms of (n 1)- n − controlled CNOT gate (n-qubit Toffoli gate) for n =3...... 43 3.7 Generic measurement of the classical part M of the CWS code stabilizer C M [Eq. (3.14)] uses K (n + 1)-qubit controlled-Z gates...... 44 Q 4.1 Measurement M M by performing logical AND operation on two an- 1 ∧ 0 cillas...... 47 4.2 Simplified measurement for M M ...... 47 1 ∧ 0 4.3 Measurement M1⊞M0 by performing logical XOR gate on the two ancillas and subsequent recovery of the first ancilla...... 47 4.4 Simplified measurement for M1 ⊞ M0...... 48 4.5 Implementation of the controlled-H gate based on the identity H = exp( iY π/8)Z exp(iY π/8)...... 48 −

ix Chapter 1

Introduction

1.1 Quantum Computation and Error Correcting Codes

Quantum computation makes it possible to achieve polynomial complexity for many classical problems that are believed to be hard [1, 2]. One important feature of quantum computation is the superposition of quantum states. The quantum bit

(qubit)is a superposition of state 0 and state 1 , which is different from the classical | i | i case. This distinct feature enables quantum computer to carry on massive parallel computation. One example showing this advantage is to determine whether the binary mapping f works as f(0) = f(1) or f(0) = f(1) where f(0),f(1) 0, 1 . With a 6 ∈ { } classical computer, we need to run the function twice to know both f(0) and f(1) in order to learn whether f(0) = f(1) or f(0) = f(1). With a quantum computer, we use a 6 superposition of 0 and 1 as the input to know f(0) = f(1) or f(0) = f(1) by running | i | i 6 the algorithm only one time. One celebrated outcome of these parallel computations is a to factorize numbers, which has been discovered by Shor[1] and performs in a polynomial time in the number of digits.

Another distinct feature is the measurement of observable, whose outcome is

1 generally a random variable. The possible values are eigenvalues of the operator that is related to the observable. After the measurement, the state collapses to one of the eigenstate of the operator, giving the eigenvalue corresponding to the eigenstate as the outcome. A famous example illustrating the feature of measurement is Shr¨odiner’s cat.

Before the measurement, the cat was in the state of superposition of alive and dead

1 ( Alive + Dead ). Once we make the measurement, the outcome is either alive or √2 | i | i dead. At the same time, its state collapses to either alive or dead correspondingly. | i | i We may say that the measurement saves the cat or kills the cat, but we should never say that the measurement enables us to know whether it was in Alive or Dead . | i | i Quantum errors and decoherence is one of the major challenges in quantum computation. To preserve coherence, quantum states need to be protected by quantum error correcting codes (QECCs) [3, 4, 5]. With error probabilities in elementary gates below a certain threshold, one can use multiple layers of encoding (concatenation) to reduce errors at each level and ultimately make arbitrarily-long quantum computation possible [6, 7, 8, 9, 10, 11, 12, 13, 14].

The actual value of the threshold error probability strongly depends on the assumptions of the error model and on the chosen architecture, and presently varies

3 from 10− % for a chain of qubits with nearest-neighbor couplings [15] and 0.7% for qubits with nearest-neighbor couplings in two dimensions [14], to 3% with postselection

[12], or even above 10% if additional constraints on errors are imposed [13].

The quoted estimates have been made using stabilizer codes, an important class of codes which originate from additive quaternary codes, and have a particularly simple structure based on Abelian groups [16, 17]. Recently, a more general class of codeword stabilized (CWS) quantum codes was introduced in Refs. [18, 19, 20, 21]. This class includes stabilizer codes, but is more directly related to non-linear classical codes.

2 This direct relation to classical codes is, arguably, the most important advan- tage of the CWS framework. Specifically, the classical code associated with a given CWS quantum code has to correct certain error patterns induced by a graph associated with the code. The graph also determines the graph state [22] serving as a starting point for an encoding algorithm exploiting the structure of the classical code [20]. With the help of powerful techniques from the theory of classical codes, already several new families of non-additive codes have been discovered, including codes with parameters proven to be superior to any stabilizer code [18, 19, 20, 25, 23, 24, 26].

Both classical additive codes and additive quantum codes can be corrected by

first finding the syndrome of a corrupted vector or , respectively, and then looking up the corresponding error (coset leader) in a precomputed table [27].

This is not the case for non-linear codes. In fact, even the notions of a syndrome and a coset become invalid for general non-linear codes. Furthermore, since quantum error correction must preserve the original quantum state in all intermediate measurements, it is more restrictive than many classical algorithms. Therefore, the design of a useful

CWS code must be complemented by an efficient quantum error correction algorithm.

The goal of this thesis is to address this important unresolved problem for binary CWS codes. First, we design a procedure to detect an error in a narrower class, the union stabilizer (USt) codes, which possess some partial group structure [28, 23, 24].

Then, for a general CWS code and a set of graph-induced maps of correctable errors forming a group, we construct an auxiliary USt code which is the union of the images of the original CWS code shifted by all the elements of the group. Finally, we construct

Abelian groups associated with correctable errors located on certain index sets of qubits.

The actual error is found by first applying error-detection to locate the index set with the relevant auxiliary USt code, then using a collection of smaller USt codes to pinpoint

3 the error in the group. Since we process large groups of errors simultaneously, we make a significant reduction of the number of measurements compared with the brute force error correction for non-linear (quantum or classical) codes.

More precisely, we consider an arbitrary distance-d CWS code ((n,K,d)) that uses n qubits to encode a of dimension K and can correct all t-qubit errors, where t = (d 1)/2 . In ch. 2, we give a brief overview of the notations and ⌊ − ⌋ relevant facts from the theory of quantum error correction and discuss structure and error correction of stabilizer codes. Then in ch. 3, we describe generic CWS codes and construct a reference recovery algorithm that deals with errors individually. This algorithm requires up to B(n,t) measurements, where

t B(n,t) n 3i (1.1) ≡ i i=0 X  is the total number of errors of size up to t (this bound is tight for non-degenerate codes).

Each of these measurements requires up to n2 + K (n) two-qubit gates. In order to O eventually reduce the overall complexity, we consider the special case of USt codes in ch. 4. Here we design an error-detecting measurement for a USt code with a translation set of size K that requires (Kn2) two-qubit gates to identify a single error. Our error O grouping technique presented in ch. 5,[29][30], utilizes such a measurement to check for several errors at once. In the case of generic CWS codes [ch. 3], we can simultaneously check for all errors located on size-t qubit clusters; graph-induced maps of these errors form groups of size up to 22t. Searching for errors in blocks of this size requires up to

n 1 measurements to locate the cluster, plus up to 2t additional measurements to t −  locate the error inside the group.

4 1.2 Classical Error Correcting Codes

1.2.1 Communication System

Communication is an important area in electrical engineering. Error correcting codes are invented to improve the quality of communication systems. To describe the background of error correcting codes sufficiently, we first spend some words on commu- nication systems.

Point to point communication systems are classified in to two families, namely, analog communication systems and digital communication systems. In both kinds of systems, we use an information signal to modulate carrier, the modulated carrier carries the information of the signal. Sender transmits the modulated carrier to the receiver, and the receiver recover the signal from the carrier. The signal is known as modulating signal and the processes of modulating carrier and recover signal from modulated carrier are called modulation and demodulation.

In an analog system, the signal is a continuous function of time, denoted as s(t). Carriers are usually a sinusoidal signal with known amplitude and initial phase, denoted as A sin (ωt + θ0). Frequently used modulation methods are amplitude modula- tion (AM), frequency modulation (FM) and phase modulation (PM). In an AM system, modulated carrier is sinusoidal signal with the amplitude proportional to the modulating signal. In an FM system or a PM system, modulated carrier has its instant frequency or phase proportional to modulating signals respectively. That is

sFM (t)= A sin [(ω + kF s (t)) t + θ0] , and

sPM (t)= A sin [ωt + θ0 + kP s (t)] .

5 Modulating signal 5 0 −5 0 0.05 0.1 0.15 0.2 Amplitude modulation 5 0 −5 0 0.05 0.1 0.15 0.2 Frequency modulation 1 0 −1 0 0.05 0.1 0.15 0.2 Phase modulation 1 0 −1 0 0.05 0.1 0.15 0.2

Figure 1.1: Analog modulations

These modulation methods can be illustrated by fig.1.2.1.

In a digital communication system, the signal s (t) is sampled as sn = s (nT ), where T is the sample interval and its inverse is known as sample frequency. Each sn is mapped into a block of symbols from a finite set, which is usually 0, 1 . The mapping is { } similar to how we represent a real number in a computer. In a computer, the information unit is bit, a bit can be of value 0 or 1. We use several bits to represent a number, n bits can represent 2n number. In a digital system, the range of a signal is divided into n quantization levels, each sample is approximated to the closest level. Then the signal is represented by the n bits that represent the level. The difference between the signal and its closest level is the quantization noise. As the number of bits for each sample

6 increases, the distance between two levels decreases, so does the quantization noise.

As the signal is mapped into a sequence symbols from a finite set, we modulate the carrier according to the value of each symbol. At the receiver, we recover those symbols from the received signal and map it into the quantization level. A low pass

filter is used at the end to convert the discrete time sequence into a continuous time signal. Sampling and mapping to binary information at the sender are in the scope of source encoding. The inverse process is known as source decoding, namely, recovering continous time signal from binary sequence.

Transmitting and receiving binary information is known as digital communica- tion, which includes modulating carrier and transmitting modulated carrier. Frequently used modulation methods are amplitude shift keying(ASK), frequency shift keying(FSK) and phase shift keying(PSK). In a ASK system, the modulated carrier is

sASK(t)= A (t) sin (ωt + θ0) , where

A (t)= s [u (t nT ) u (t nT T )], n − − − − n X and 1 t> 0 u (t)=    0 t 0 ≤  In a PSK system, different symbols correspond to different phases. For example, an bi- nary PSK system, the carrier may be transmitted as A sin (ωt + θ ) or A sin (ωt + θ ) 0 − 0 to represent symbols from 0, 1 . In an FSK system, we have several frequencies for the { } carrier. Carrier shift its frequency in different time slots according to the modulating signal to be sent. These digital modulation methods are shown in fig.1.2.1. When modu- lated signal is transmitted over a digital channel, a wrong symbol may be demodulated

7 Modulating signal 2 1.5 1 0 50 100 150 200 250 300 350 400 Amplitude shift keying 2 0 −2 0 50 100 150 200 250 300 350 400 Frequency shift keying 1 0 −1 0 50 100 150 200 250 300 350 400 Phase shift keying 1 0 −1 0 50 100 150 200 250 300 350 400

Figure 1.2: Digital modulations.

8 from the received signal with the presence of channel noise. In order to improve the reliability of the transmission, we introduce redundance to modulating signals. Instead of sending pure information symbols, we send a codeword of symbols (codeword for short), which carries redundancy. Those redundancy makes it possible to recover the original information symbols even some symbols are corrupted. The space of codewords is called error correcting code. Mapping information symbols to codewords is called channel encoding. Recovering information symbols from received codewords is code

channel decoding or error correction. The whole system can be illustrated as fig.1.2.1.

¡ ¢£¤¥ ¡ ¢£¤¥

¡ ¢ £¤¥ ¥ ¤¥ ¨© ¥£

¥ ¦ ¤ §¥£ §¥ ¤ §¥ £

        

 £ ¥ ¥ ¤ © ¥ £¥ § ¨  £¥  ¨  ¨= L

a aa 21 ak aˆ

 

¦ ¦¥ ¦ ¦¥

¥ ¦ ¤ §¥£ §¥ ¤ §¥ £



¦ ¦¥ ¤ §¥ £§

 

¤ §¥ £ § ¦ ¨  = L ¡¥ ¦+ ¥§

c cc 21 cn c e

      

§¢ £ ¥ §¢ £



¦ ¦¥

   

§¢ ¥ § ££ ¢  ¥ §

 

¨  ¦  ¨  ¦ 



¨ ¥  !"# $ % & ##"! '() % & ##"! #*(+"+ ,-# !

Figure 1.3: Block diagram of a communication system.

Topics of error correcting codes includes designing rules for mapping from in- formation symbols to codewords, implementation of the encoding and decoding. Digital communication systems provide a stage for the development of channel codes, on the

9 other hand, error correcting codes improve the reliability of digital communication sys- tems.

1.2.2 Basics of Error Correcting Codes

Channel codes are also known as error correcting codes. The process of map- ping a block of information bits to another vector of symbols, which is codeword, is encoding. The space of all codewords is a code. Because of its convenience, binary code are commonly used. For a length-k block of information bits to send, we choose a length-n binary vector as the codeword. Instead of sending the length-k vector, we send the length-n codeword to the binary channel. What is received by the other end of the binary channel is called sensed or received codeword. There are totally 2k codewords corresponding to 2k possible of blocks of information bits vectors.

Distance of two codewords is defined as the number of positions in which the two codewords are different. The minimum distance of all the pairs of codewords is defined as the distance of the code. We denote main parameters of a code as [n,k,d], where n and k are the length of codewords and block of information bits respectively and d is the distance. Weight of a codeword is the number of non-zero positions. A code with distance d = 2t + 1 corrects t errors. Since the distance from the correct codeword to the sensed codeword is no greater than t and the distance from another codeword is at least t + 1. So we may correct these errors by mapping the vector to the closest codeword.

We may also consider each codeword as a point in a 0, 1 n space. The volume { } of the space is 2n. Each codeword is assigned a radius-t ball centered at the codeword.

As the condition d = 2t + 1 holds, there is no overlap between two balls. We can correct errors that change the codeword to another point within the ball by mapping the sensed

10 codeword to the center of the ball.

One simple codes is repetition codes. For example, we transmit 0 five times when a 0 is to be transmitted and a 1 five times otherwise for 1. The two codewords are 00000, 11111. The distance of code is 5. If no more than 2 symbols in a codeword are flipped, we are able to get the actual codeword by majority voting. This is a [5, 1, 5] code.

1.2.3 Binary Linear Block Codes

If a the sum of two codewords is still a codeword, then this code is linear. The set of codewords is a linear space. The minimum non-zero weight of all the codewords is the distance of the code. For a [n, k] linear code, the codeword space is a k-dimensional subspace in the space 0, 1 n. Mapping from a length-k block bits to a codeword is { } expressed in a form as

c = aG, where a is a block of the information bits. G is the k by n generator matrix. Rows of the generator matrix form a basis of the codespace. Each codeword c is a linear combination of rows of G, whose combination coefficient is determined by the information bits.

We denote the k-dimensional codespace as C. The orthogonal complement of C, denoted as C , including all vectors that are orthogonal to C. C is n k- ⊥ ⊥ − dimensional. We arbitrarily choose n k linearly independent vectors from C . The − ⊥ necessary and sufficient condition that a codeword is in C is that it is orthogonal to all these n k vectors. We form a parity matrix H by using these n k vectors as rows. − − A vector c is in C if and only if

cHT = 0

11 When a codeword c is transmitted over a binary channel, the binary error e result in a sensed codeword c + e instead of c. The parity check is

(c + e)HT = cHT + eHT = eHT , which is the syndrome of the error. We identify errors from the syndromes.

Hamming codes is a linear block code. Parameters of a Hamming code are of the form [n = 2m 1, k = 2m 1 m, d = 3]. Description of Hamming codes usually − − − starts from parity check matrix. The parity matrix has m rows. Each column is an length-m binary vector. Those 2m 1 non-zero length-m binary vectors are the 2m 1 − − columns of the parity check matrix H. For any codeword c, we have

cHT = 0. (1.2)

Since there are no two columns in the matrix are the same, we should have at least three columns to sum up to zero. So all codewords that satisfy eq. 1.2 have at least three 1s.

So the minimum weight of codeword is d, and so is distance of the code.

If we permutate columns of the parity check matrix to have it as the form

H = [PT I], then the generator matrix is

G = [I P].

We can verify that GHT = 0.

For example, let m = 3, we have an [7, 4, 3] Hamming code. Parity check

12 matrix and generator matrix are

1101000 1101100      1010100  H = G =    1011010           0110010       0111001           1000001      1.2.4 Bounds

Theorem 1 (Singleton Bound[43]). The distance of any linear (n, k) block code bsys- tematic formsatisfies

d 1+ n k. min ≤ −

Proof. The minimum distance equals to the minimum weight of all nonzero codewords.

By elementary row transformation, we transform the k n generator matrix in to the × form where the left most k columns form an identity matrix, which is the systematic form. Each row of the new matrix is a codeword. There are at most1+(n k) nonzero − element in a row. So there exists a codeword with weight no greater than 1 + n k. − Then the distance is no greater than 1 + n k. −

Theorem 2 (Hamming Bound[43]). An [n,k, 2t + 1] code satisfies

t n 2k 2n. j ≤ Xj=0   We assign each codeword with a ball with radius t. All received vectors with

t n k no more than t errors are in the original ball. The volume of a sphere is j=0 j 2 . P  There are 2k such balls. If the whole space with 2n points contains these 2k spheres disjointedly, then we can identify the true codeword if it is corrupted by no more than t errors. Codes that achieve Hamming Bound are defined as a perfect code.

13 Theorem 3. The volume of a Hamming sphere in 0, 1 n of radius t satisfies { } t n 2nH(t/n). j ≤ Xj=0   [43]

Proof. Let λ be any positive number, since

t n n n n λ(n t) n λ(n t) n λl n λl n λ 2 − = 2 − 2 2 1 + 2 . l l ≤ l ≤ l ≤ l=0   l=n t   l=n t   l=0   X X− X− X   Let p = t/n, we have t n n λ(1 p) λp 2− − + 2 . l ≤ Xl=0     1 p We choose λ = log2 −p , then we have h i t n = 2nH(p). l ≤ Xl=0  

From Stirling’s approximation, we have a lower bound and an upper bound for n!. This approximation be used to show that the bound is a asymptotically tight[43].

1.3 Basics of Quantum Computation

1.3.1 Wave Function and Schr¨odinger Equations

In quantum mechanics, the behavior of a particle is described by its wave function Ψ(x,t) [?], which is a function of both coordinate x and time t. Its statistical interpretation is that the probability of finding the particle in the interval [a, b] at time t is b ψ (x,t) 2 dx = Pr particle in [a, b] at timet , | | { } Za where Ψ(x,t) is a complex function and Ψ (x,t) 2 =Ψ (x,t) Ψ (x,t). | | ∗

14 We get the wave function by solving Schr¨odinger equation

∂ψ ~2 ∂2ψ i~ = + V ψ. (1.3) ∂t −2m ∂x2

To solve eq. 1.3, we first suppose we have solutions in the form Ψ(x,t) =

ψ(x)φ(t), each of which satisfies eq. 1.3, but not in general satisfies the initial condition

Ψ(x, 0). For such a solution, we have

∂Ψ dφ = ψ , ∂t dt and ∂2Ψ d2ψ = φ. dx2 dx2

Taking the above two equations into eq1.3, we have

dφ ~2 d2ψ i~ψ = + V ψφ. dt −2m dt2

By dividing both sides by ψφ, we have

1 dφ ~2 1 d2ψ i~ = + V. (1.4) φ dt −2m ψ dx2

Since the left hand side of eq. 1.4 is a function of t and the right hand side depends only on x, both have to be constant. We than have

1 dφ i~ = E, φ dt or dφ iE = φ, (1.5) dt − ~ and ~2 1 d2ψ = E, −2m ψ dx2 or ~2 d2ψ + V ψ = Eψ. −2m dx2

15 Solution to eq1.5 is

Et φ (t)= e− ~ . (1.6)

One of the solutions to eq. 1.3 is in the form

Ψ (x,t)= ψ (x) φ (t) .

If we have a collection of solutions as ψ , ψ , and each ψ corresponds to con- { 1 2 ···} i

iEnt/~ stant Ei, then all linear combinations n∞=1 cnψn(x)e− are solutions to eq. 1.3. P According to the initial condition, we have

∞ Ψ (x, 0) = cnψn(x), n=1 X which determines the coefficient cn, as well as the solution to eq.1.3 with the given initial conditions. Each ψn is known as a state of the quantum system, it is also an eigenvector of Hamiltonian with eigenvalue En.

All wave functions live in Hilbert space with inner product defined as

f g = f ∗ (x) g (x) dx. h | i Z

Since a wave function is a probability density function, the self-inner product of a vector is of unit norm. Expressing a vector in the Hilbert space as ψ , a projector to this | i dimension is ψ ψ , since we have | i h |

( ψ ψ ) φ = ψ ( ψ φ ) = ( ψ φ ) ψ | i h | | i | i | i h | h | i | i for all φ . From now on, we use notation ψ to represent a vector in Hilbert space. For | i | i a given basis of the space, the vector is determined by its coordinate. So in some cases, we treat ψ as a column vector of complex coordinates. | i

16 1.3.2 Observable

In quantum mechanics, an observable is related to a self-adjoint (hermitian) operator,that is

ψ Aψ = A†ψ ψ . h | i h | i

An operator maps vectors to vectors linearly. In a finite dimensional , a linear map is represented by a matrix. When we measure an observable, possible outcomes of are eigenvalues of the operator that corresponds to the observable. Right after the measurement, the quantum state becomes the eigenvector of this operator that corresponds to the outcome, with normalizing coefficient that satisfies the unitary condition.

In general, we express a self-adjoint operator A as

A = anPn, n X where P = n n , n is the unit eigenvector of the operator corresponding to eigenvalue n | ih | | i a . For a state ψ , we measure the observable A, the outcome is a with probability n | i n ψ P ψ . After the measurement, the quantum state becomes h | n | i P ψ n| i . ( ψ P ψ )1/2 h | n| i We can also decompose the state ψ as c n , probability of getting outcome n is | i n n| i P Pr [n]= c 2. | n|

State after measurement is n . | i

1.3.3 Qubits and Quantum Gates

The indivisible unit of classic formation is bit, whose value is from 0, 1 . The { } counterpart of bit in is qubit. A qubit is a system in a two-

17 α 0 + β 1 X β 0 + α 1 | i | i | i | i α 0 + α 1 Y β 0 + α 1 | i | i − | i | i α 0 + α 1 Z α 0 α 1 | i | i | i− | i

Figure 1.4: Pauli Gates

dimensional Hilbert space. The following two vectors

1 0 0 =   , 1 =   | i | i  0   1          form a basis of the state space. The general form of a qubit state is α 0 + β 1 , where | i | i complex coefficients a, b satisfy a 2+ b 2 = 1. We also mention 0 and 1 as positive and | | | | | i | i negtivez ˆ direction, both of which are eigenvector of linear operator Z = 0 0 1 1 | ih | − | ih | with eigenvector 1 and 1 respectively. In general, all linear operators acting on vectors − in a two-dimensional space are represented by a two by two matrices. Those operators form a space Span I,X,Y,Z , where { }

1 0 0 1 0 1 1 0 I =   , X =   ,Y =  −  ,Z =   . (1.7)  0 1   1 0   1 0   0 1         −          Pauli operators act on basis of qubit as

X 0 = 1 , X 1 = 0 | i | i | i | i

Y 0 = 1 ,Y 1 = 0 . | i | i | i − | i

Z 0 = 0 ,Z 1 = 1 | i | i | i − | i Quantum circuits of operator X,Y,Z are shown in fig. 1.3.3 Two state 0 and 1 are | i | i eigenstate of Z with eigenvalues 1 and 1. For a general state ψ = α 0 + α 1 , if − | i | i | i we measure Z, we get outcome 1 with probability a 2 and 1 otherwise. After the | | −

18 H X H = Z

H Z H = X

Figure 1.5: Hadamard gate.

measurement, the state collapse to 0 or 1 respectively. Define vectors | i | i

1 1 x = ( 0 + 1 ) , x = ( 0 1 ) . |↑ i √2 | i | i |↓ i √2 | i − | i we have

= 0, h↑x| ↓xi and

X = , X = . (1.8) |↑xi |↑xi |↓xi − |↓xi

When we measure X of a state ψ , the outcome is either 1 or 1, the state will collapse | i − to or after the measurement. |↑xi |↓xi Another useful gate is Hadamard gate

1 1 1 1 H = (X + Z)=   , √2 √2  1 1   −    which is used to convert between X and Z as

HZH =X , HXH =Z as shown in fig. 1.3.3. Hadamard gate is also used to shift between vector along X and

Z as

1 1 H 0 = (X 0 + Z 0 )= ( 1 + 0 )= x | i √2 | i | i √2 | i | i |↑ i , 1 1 H 1 = (X 1 + Z 1 )= ( 0 1 )= x | i √2 | i | i √2 | i − | i |↓ i 19 0 H x | i |↑ i

1 H x | i |↓ i

Figure 1.6: Hadamard gate on vectors. as shown in fig.1.3.3.

In a three-dimension space, we may acquire a vectorn ˆ = (sin θ cos ϕ, sin θ sin ϕ, cos θ) by rotatingz ˆ = (0, 0, 1) through θ aboutn ˆ = ( sin ϕ, cos ϕ, 0), wheren ˆ can be calcu- ′ − ′ lated in this way

i j k

zˆ nˆ 1 nˆ′ = × = = ( sin ϕ, cos ϕ, 0) . sin z,ˆ nˆ sin θ 0 0 1 −

h i

sin θ cos ϕ sin θ sin ϕ cos θ

The rotation of the is through θ aboutn ˆ′ is

θ iϕ θ θ cos 2 e− sin 2 U nˆ′,θ = exp i nˆ′ σ =  −  , − 2 · −→   iϕ θ θ   e sin 2 cos 2      where σ = (σ ,σ ,σ ). So we can get the eigenvector of σ nˆ corresponding to eigen- −→ x y z −→ · value 1 by applying operator U (ˆn, θ) to 0 , which is the eigenvector of σ . We can | i z verify that

θ iϕ θ θ cos 2 e− sin 2 1 cos 2 U nˆ′,θ 0 =  −    =   , | i iϕ θ θ iϕ θ   e sin 2 cos 2   0   e sin 2             

iϕ cos θ e− sin θ nˆ −→σ =   , · iϕ  e sin θ cos θ   −    and

iϕ θ θ cos θ e− sin θ cos 2 cos 2 (ˆn −→σ ) U nˆ′,θ 0 =     =   . · | i iϕ iϕ θ iϕ θ   e sin θ cos θ   e sin 2   e sin 2   −       20      If a state is as ψ = α 0 + α 1 , we say it is a pure state. We can also | i | i | i represent the such state by a density matrix ρ = ψ ψ , whose rank is one. In general, | i h | a density matrix of a qubit is of the form

ρ = a 2 0 0 + b 2 1 1 , | | | ih | | | | ih | which means the qubit is in state 0 with probability a 2 and in state 1 otherwise. | i | | | i This is called a mixed state. The expectation of the outcome of an operator A acting on the qubit is

A = tr (Aρ)= a 2 0 A 0 + b 2 1 A 1 . h i | | h | | i | | h | | i

A two by two density matrix can be expand in the basis I,σ ,σ ,σ as { x y z}

1 ρ(−→P )= I + −→P σ . 2 · −→   There is a one to one mapping between all possible density matrices and points in the unit three-dimensional ball, which is called Bloch ball. Points on the surface of the ball correspond to pure states. Inner points of the ball correspond to mixed states. We have

tr (ˆn σ ) −→P σ =n ˆ −→P · −→ · −→ · h  i If a qubit ψ evolutes to ψ = U ψ , he relation between new density matrix | i | ′i | i

ρ′ and original density matrix ρ is

ρ′ = U ψ ψ U† = UρU†. | ih |

1.3.4 Bipartite System

Suppose we have two particles A and B, in the space HA and HB, then we have the Hilbert space of the bipartite system as H H . If i is an orthogonal basis A ⊗ B {| iA} for H and j is an orthogonal basis for H , then i j is an orthogonal A {| iB} B {| iA ⊗ | iB}

21 basis of H H . A pure bipartite state is as A ⊗ B

ψ = a i j , (1.9) | iAB i,j| iA ⊗ | iB Xi,j where

a 2 = 1. | i,j| Xi,j We denote i j as i j for short if the subspaces can be distinguished from | iA ⊗ | iB | iA | iB the subindex. The density matrix of particle A can be acquired by performing a partial trace over subsystem B as

ρ = tr ( ψ ψ )= a a∗ i j . A B | iAB h | iµ jµ | iAA h | i,j,µX The size of basis in eq1.9 is defined as Smith nunber. If the Smith number of a bipar- tite system is more then 1, then we say subsystem A and subsystem B are entangled.

An entangled bipartite system can not be prepared only by operations on each of the subsystems.

We express operator M acting on particle 1 and operator N on particle 2 together as M(1)N(2) or M N. That is ⊗

(M N)( ψ φ ) = (M ψ ) (N φ ), ⊗ | i ⊗ | i | i ⊗ | i or denoted as

M1N2 ψ φ = M ψ N φ . | i1| i2 | i1 | i2

We can read and copy a classic bit, but in general we are unable to know parameters a and b in α 0 + α 1 . When we measure observable Z, we get either 0 or | i | i 1 randomly, and prepare the qubit as 0 or 1 respectively. The original state is then | i | i destroyed since some components in the combination are killed. If we know for sure that the qubit is pointing along some certain directions, we can measure the observable which is also point along that direction to get the eigenvalue.

22 A frequently used two-qubit gate is linear Controlled-Not (CNOT or CX ) gate.

One qubit (target qubit) is flipped by X according to the state of the other qubit

(controlling qubit). The target bit is flipped by X if the controlling qubit is 1 and | i unchanged if the controlling qubit is 0 . Let the first qubit be the controlling qubit and | i the second be the target qubit, the mapping is

CNOT : 0 0 0 0 | i | i → | i | i

0 1 0 1 | i | i → | i | i

1 0 1 1 | i | i → | i | i

1 1 1 0 . | i | i → | i | i The CNOT is described by a matrix as

1 00 0    0 10 0  CX =   = 0 0 I + 1 1 X,   | i h |⊗ | i h |⊗    0 00 1         0 01 0      which is shown in fig. 1.3.4 In general, a CNOT gate acts on a non-entangled two-qubit state (α 0 + 1 ) ψ as | i | i | i

CX [(α 0 + 1 ) ψ ]= α 0 ψ + α 1 (X ψ ). | i | i | i | i | i | i | i

Similar to regular X gate, Hadamard gate H convert CX to CZ and wise versa, as

fig. 1.3.4. When we make measurement M of a multi-qubit state ψ , we project ψ | i | i into subspace stabilized by M or its orthogonal complementary subspace. Using one ancillary qubit and a controlled-M gate, we have the ancillary qubit and target qubits

23 • • H Z H = X

• • H X H = Z

Figure 1.7: Hadamard gate.

α 0 + β 1 | i | i • α 0 ψ +β 1 X ψ ψ   | i | i | i | i | i   Figure 1.8: CNOT gate.

entangled as

M M 0 + 1 (H I2n )C (H I2n ) 0 ψ = (H I2n )C | i | i ψ ⊗ ⊗ | i | i ⊗ √2 | i 1 1 1 =(H I2n ) ( 0 ψ + 1 M ψ )= ( 0 + 1 ) ψ + ( 0 1 )M ψ ⊗ √2 | i | i | i | i 2 | i | i | i 2 | i − | i | i

I n + M I n M = 0 2 ψ + 1 2 − ψ . | i 2 | i | i 2 | i We measure Z of the ancillary qubit to project it as 0 or 1 , at the same time, we | i | i projected ψ into the subspace stabilized or anti-stabilized by M. | i

24 Chapter 2

Stabilizer Quantum Codes

2.1 Notations

Throughout the thesis, = C2 denotes the complex Hilbert space that con- H2 sists of all possible states α 0 +β 1 of a single qubit, where α, β C and α 2 + β 2 = 1. | i | i ∈ | | | | n 2 n 2n Correspondingly, we use the space ⊗ = (C ) = C to represent any n-qubit state. H2 ⊗ Also,

m n P i I,X,Y,Z ⊗ , m = 0,..., 3 (2.1) n ≡ { } denotes the Pauli group of size 22n+2, where X, Y , Z are the usual (Hermitian) and I is the identity matrix. The members of this group are called Pauli operators; the operators in eq. (2.1) with m = 0 form a basis of the vector space that consists of all operators acting on n-qubit states. The weight wgt(E) of a Pauli operator

E is the number of terms in the (2.1) which are not a scalar multiple of identity. Up to an overall phase, a Pauli operator can be specified in terms of two binary strings, v and u,

v u U = Z X Zv1 Zv2 ...Zvn Xu1 Xu2 ...Xun . ≡ 1 2 n 1 2 n

25 Hermitian operators in P have eigenvalues equal to 1 or 1. Generally, unitary oper- n − ators (which can be outside of the Pauli group) which are also Hermitian, i.e., all eigen- values are 1, will be particularly important in the discussion of measurements. We will ± call these operators measurement operators. Indeed, for such an operator M, a measure- ment gives a Boolean outcome and can be constructed with the help of a single ancilla, two Hadamard gates, and a controlled M gate [16] (see fig. 2.1. The first Hadamard gate prepares the ancilla in the state ( 0 + 1 ) ψ /√2, hence a = ( 0 + 1 ) ψ /√2. | i | i | i | i | i | i | i The controlled-M gate returns b = CM a = ( 0 ψ + 1 M ψ )/√2. The second | i | i | i | i | i | i Hadamard gate finishes the incomplete measurement, c = 0 P ψ + 1 Q ψ , | i | i M | i | i M | i where we used the projector identities (2.2). If the outcome of the ancilla measure- ment is 0 , the result is the projection of the initial n-qubit state ψ onto the +1 | i | i eigenspace of M (P ψ ), otherwise it is the projection onto the 1 eigenspace of M M | i − (Q ψ ). For an input state 1 ψ with ancilla in the state 1 , the circuit returns M | i | i | i | i 1 P ψ + 0 Q ψ .) The algebra of measurement operators is related to the alge- | i M | i | i M | i bra of projection operators discussed in Refs. [31, 32], but the former operators, being unitary, are more convenient in circuits.

|0i • H H   |0i PM |ψi+|1i QM |ψi |ψi /n M  |ai |bi

Figure 2.1: Measurement of an observable M with all eigenvalues 1. ±

A measurement of an observable defined by a Pauli operator M will be also called Pauli measurement [33]. For lack of a better term, other measurements will be called non-Pauli; typically the corresponding circuits are much more complicated than those for Pauli measurements.

26 n We say that a state ψ ⊗ is stabilized (anti-stabilized) by a measurement | i∈H2 operator M if M ψ = ψ (M ψ = ψ ). The corresponding projectors onto the | i | i | i −| i positive and negative eigenspace are denoted by PM and QM , respectively; they satisfy the identities

M = P Q = 2P 11= 11 2Q . (2.2) M − M M − − M

We say that a space is stabilized by a set of operators if each vector in Q M is stabilized by each operator in . We use ( ) to denote the maximum space Q M P M stabilized by , and ( ) to denote the corresponding orthogonal complement. For M P⊥ M a set of measurement operators, each state in ( ) is anti-stabilized by some M P⊥ M operator in . M When discussing complexity, we will quote the two-qubit complexity which just counts the total number of two-qubit gates. Thus, we ignore any communication overhead, as well as any overhead associated with single-qubit gates. For example, the complexity of the measurement in Fig. 2.1 is just that of the controlled-M gate operating on n + 1 qubits [34]. For all circuits we discuss, the total number of gates (single- and two-qubit) is of the same order in n as the two-qubit complexity.

2.2 General Quantum Error Correcting Codes

A general n-qubit quantum code encoding K quantum states is a K-dimensional Q n K subspace of the Hilbert space ⊗ . Let i be an orthonormal basis of the K- H2 {| i}i=1 dimensional code and let P be some set of Pauli errors. The overall phase of Q E ⊂ n an error [im in Eq. (2.1)] is irrelevant and will be largely ignored. The code detects all errors E if and only if [2, 16] ∈E

j E i = C δ (2.3) h | | i E ij

27 where CE only depends on the error E, but is independent of the basis vectors [35]. The code has distance d if it can detect all Pauli errors of weight (d 1), but not all errors − of weight d. Such a code is denoted by ((n,K,d)).

The necessary and sufficient condition for correcting errors in is that all E non-trivial combinations of errors from are detectable. This gives [4, 5] E

j E†E i = C δ , (2.4) h | 1 2| i E1,E2 ij where E , E and, again, C is the same for all basis states i, j. A distance-d 1 2 ∈ E E1,E2 code corrects all errors of weight s such that 2s d 1, that is, s t (d 1)/2 . ≤ − ≤ ≡ ⌊ − ⌋ The code is non-degenerate if linearly independent errors from produce cor- E rupted spaces E( ) E ψ : ψ whose intersection is trivial(equals to 0 ); Q ≡ { | i | i ∈ Q} { } otherwise the code is degenerate [17]. A stricter condition that the code is pure (with re- spect to ) requires that the corrupted spaces E ( ) and E ( )be mutually orthogonal E 1 Q 2 Q for all linearly independent correctable errors E , E . 1 2 ∈E For a degenerate code, we call a pair of correctable errors E , E mutually- 1 2 ∈E degenerate if the corrupted spaces E ( ) and E ( ) coincide. Such errors belong to 1 Q 2 Q the same degeneracy class. For recovery, one only needs to identify the degeneracy class of the error that happened. The operators like E1†E2, connecting mutually-degenerate correctable errors E1 and E2, have no effect on the code and can be ignored.

For all codes discussed in this thesis, any two correctable errors E1, E2 yield corrupted spaces E ( ), E ( ) that are either identical or orthogonal. Then, errors 1 Q 2 Q from different degeneracy classes take the code to corrupted spaces that are mutually orthogonal. Also, for these codes, a non-degenerate code is always pure. In terms of

the error correction condition (2.4), we have CE1,E2 = 0 for errors E1, E2 in different degeneracy classes and C = 0 for errors in the same degeneracy class. E1,E2 6

28 2.3 Stabilizer Codes

Stabilizer codes [16] are a well known family of quantum error-correcting codes that are analogous to classical linear codes. An [[n,k,d]] stabilizer code maps a 2k- dimensional k-qubit state space into a 2k-dimensional subspace of an n-qubit state space.

The code is defined as the space stabilized by an Abelian subgroup of the n- qubit Pauli group, S Pn, with n k Hermitian generators, S = G1,...,Gn k . ⊂ − h − i For such a space to exist, it is necessary that I / S . The S is called − ∈ the stabilizer of . Explicitly, Q

ψ : S ψ = ψ , S S . (2.5) Q ≡ {| i | i | i ∀ ∈ }

The code is stabilized by S iff it is stabilized by all n k generators G . In other Q − i words, it is an intersection of subspaces stabilized by Gi,

n k − = (G ). (2.6) Q P i i\=1 The normalizer of S in Pn, denoted as N , is the group of all Pauli operators U which fix S under conjugation (U SU = S for all S S ). The term normalizer reflects † ∈ the fact that these operators commute with S [16]. It is possible to construct 2k logical operators Xj, Zj, j = 1,...,k, with the usual commutation relations, that together with the generators of S generate the normalizer (modulo an overall phase factor) [16, 36].

The (n k) generators G of the stabilizer, along with the k operators Z , generate − i j a subgroup S G1,...,Gn k, Z1,... Zk of Pn which becomes a maximal Abelian ≡ h − i subgroup when including the generator iI. The group S stabilizes a unique state

s 0 . . . 0 . (2.7) | i ≡ | i

The operators X acting on s generate the basis of the code, j | i

c c c ...c X 1 . . . X k s . (2.8) | 1 ki≡ 1 k | i

29 Generally, each detectable Pauli error E P that acts non-trivially on the j ∈ n code anti-commutes with at least one generator Gi, and errors from different degeneracy classes anti-commute with different subsets of S . We can thus identify a degeneracy class by the set of generators Gi which anti-commute with it. The corrupted code space

E ( )= E ψ : ψ is anti-stabilized by those generators G that anti-commute j Q { j| i | i ∈ Q} i with Ej. Indeed,

G (E ψ ) = ( E G ) ψ = E ψ , i j| i − j i | i − j| i which means that the measurement G of gives 1. By measuring all G , we get the i − i syndrome that consists of n k numbers 1 or 1. There are in total 2n k possible − − − syndromes identifying different error degeneracy classes, including the trivial error I which corresponds to the all-one syndrome vector.

Any two corrupted spaces E ( ) and E ( ) are mutually orthogonal or iden- i Q j Q n n n k tical. The whole 2 -dimensional n-qubit state space ⊗ is thus divided into L 2 H2 ≡ − orthogonal 2k-dimensional subspaces E ( ), Qj ≡ j Q L 1 n − ⊗ = , for i = j. (2.9) H2 Qj Qi ⊥ Qj 6 Mj=0 The representatives of different error classes can be chosen to commute with each other and with the logical operations Xi. These representatives form an Abelian group [37]

T g1,...gn k whose generators gi can be chosen to anti-commute with only one of ≡ h − i the generators of the stabilizer each, g G = ( 1)δij G g (this follows from Proposition i j − j i

10.4 in Ref. [2]). Altogether, the generators g1,...,gn k can be regarded as a set of { − } Pauli operators forming the basis of the cosets of the normalizer N of the code in Q

Pn.

30 Example 1. The [[5, 1, 3]] stabilizer code [38, 5] is defined by the generators

G1 =XZZXI, G2 = IXZZX, (2.10)

G3 =XIXZZ, G4 = ZXIXZ.

For this code, the logical operators can be taken as

X = ZZZZZ, Z = XXXXX. (2.11)

A basis of the code space is (up to normalization)

4 0¯ = (I + G ) 00000 , 1¯ = X 0¯ . | i i | i | i | i Yi=1 By construction, both basis states are stabilized by the generators Gi. The corresponding stabilizer group is S = G ,...,G . The group of equivalence classes of correctable h 1 4i errors is generated by the representatives (note the mixed notation, e.g., Z Z ZIZII) 1 3 ≡

g1 = Z1Z3, g2 = ZZZZI, g3 = ZZIZZ, g4 = Z2Z5. (2.12)

The gj are chosen to commute with the logical operators and also to satisfy Gigj =

( 1)δij g G . Note that the operators of weight one forming the correctable error set − j i do not by themselves form a group. The generators gi can be used to map correctable errors to the corresponding group elements with the same syndrome. This gives, e.g.,

Z g g = Z X, X g = Z Z , Y g g g = Z Z Z X = Z Z .  2 → 2 4 2 2 → 1 1 3 2 → 1 2 4 1 2 3 4 5

2.4 Dual Space of Stabilizer

We are going to further explore the structure of stabilizer codes from the per- spective of functional analysis. The operators of a linear space form the dual space as defined in the following definition.

Definition 4. Given a vector space E over , the vector space E# = L (E, ) is called F F the dual space of E.

31 Lemma 5. Let x E be non-zero. Then there exists an T E# with T (x) = 0. ∈ ∈ 6

# Lemma 6. For x E, we define θ (x) (T ) = T (x) . Then θ (x) E## = E# ∈ ∈ F ∈  and θ L E, E## is injective. ∈  From lem.6, we know E and θ (E) are isomorphic. We have DimE = DimE#.

Lemma 7. For all S1,S2 in Gn, S1 and S2 are either commute or anti-commute.

Generally, two such operators may neither commute nor anti-commute. Since the form of tensor product of Pauli matric, two operators in Gn commute or anti- commute. If S and S commute, we denote S S . If If S and S anti-commute, we 1 2 1 ∼ 2 1 2 denote S S . For the vector space of stabilizer over = GF (2), we define a linear 1 ≃ 2 S F map in L ( , ) with respect E G as S F 1 ∈ n

1 S E 1 ∼ 1 T1 (S1)=  ,   0 S E 1 ≃ 1  or equivalently, we have 

S E = ( 1)T1(S1)E S . 1 1 − 1 1

To verify the linearity of the T , let S ,S G , we have 1 1 2 ∈ n

(S S ) E = ( 1)T1(S1)S E S = ( 1)T1(S1) ( 1)T2(S2) E (S S ) , 2 1 1 − 2 1 1 − − 1 2 1 so

T1 (S1 + S2)= T1 (S1)+ T (S2) .

Since S0 = I E , so T (Sα)= αT (S ) is true for α = 0, which is obviously true for 1 ∼ 1 1 1 1 1 α = 1. So T is a linear map, and T #. Let be the map from to #, (E) is 1 1 ∈ S T Gn S T the linear map corresponding to E as we defined above. is also linear since T

(E1E2)(S) SE E = ( 1)T E E S, 1 2 − 1 2

32 and

(E1)(S) (E1)(S)+ (E2)(S) SE E = ( 1)T E SE = ( 1)T T E E S 1 2 − 1 2 − 1 2

[ (E1)+ (E2)](S) = ( 1) T T E E S, − 1 2 so is a linear map from to # T Gn S

Definition 8. Given two maps S and T from E to F are said to be equal iff S (x)= T (x) for all x E. ∈

Lemma 9. If E is a vector space with basis e , e , , e , S and T are equal on E { 1 2 · · · n} iff S (e )= T (e ) for i = 1, 2, ,n. i i · · ·

Proof. x E, we can express x as n α e . We have ∀ ∈ i=1 i i n P n n S (x) T (x)= S αiei T αiei = αi [S (ei) T (ei)]=0. − ! − ! − Xi=1 Xi=1 Xi=1

Given T , T #, T = T iff for all G we have T (G )= T (G ). 1 2 ∈ S 1 2 i ∈ G 1 i 1 i

Lemma 10. The sufficient an necessary condition for E to commute with all in ∈ Gn is to commute with all in . S G

Proof. The necessity is obvious since is a subset of . If E G commute with all G S ∈ n in , then (E) (G ) = 0 for all G G . From lem.9, we know (E) equal to zero in G T i i ∈ n T #. So (E) (S) = 0 for all in . That is, E commute with all in . S T S S

Lemma 11. The sufficient and necessary condition for E , E to have (E ) = 1 2 ∈ Gn T 1 (E ) is that E E commute with all in . T 2 1 2 G

Proof. The condition is also equivalent to that that E E commute with all in . 1 2 S E E commute with all in if and only if 1 2 G

(E E ) (G) = 0, G , T 1 2 ∀ ∈ G

33 which is true if and only if

(E E ) (S) = 0, S , T 1 2 ∀ ∈ S which is true if and only if

(E E ) = 0, T 1 2 which is true if and only if

(E )= (E ) . T 1 T 2

Denote the dimension of as m, then # is also of dimension m. Since # is S S S over GF (2), so we can totally have a set with 2m maps, each of which is the form (E) T for some E G . So G can be classified into 2m groups. Elements in each group are ∈ n n mapped to the same vector in # by . S T

34 Chapter 3

Codeword Stabilized Codes

Union stabilizer (USt) codes, a broader family than stabilizer codes, are in- troduced in sec. 3.1. As one-dimensional stabilizer codes, graph states are discussed in sec. 3.2. Based on the structure of USt codes and graph state, codeword stabilized

(CWS) codes are defined in sec. 3.3. In this section, mapping quantum errors acting on

CWS codes to binary errors are established, which is to be used in ch. 5. In general,

CWS codes are nonlinear. Similar to classical nonlinear codes, an exhaustive search error correction scheme is designed in sec. 3.4. An improved error correction for CWS codes are designed in ch. 4 and ch. 5.

3.1 Union Stabilizer codes

The decomposition (2.9) can be viewed as a constructive definition of the

Abelian group T g1,...gn k of all translations of the original stabilizer code ≡ h − i Q in P . (In the following, this stabilizer code is denoted .) Any two non-equivalent n Q0 translations t ,t T belong to different cosets of the normalizer N of the code in i j ∈ 0 Q0

35 Figure 3.1: Union of 3 shifts of a 2-dimensional G.

Pn and, therefore, yield mutually orthogonal shifts

t ( ) t ( ), i = j. (3.1) i Q0 ⊥ j Q0 6

A union stabilizer code [28, 23, 24] (USt) is a

K t ( ) (3.2) Q≡ i Q0 Mi=1 of K shifts of the code by non-equivalent translations t T , i = 1,...K. An Q0 i ∈ illustration of the structure of a 12-dimensional USt code is shown in fig. 3.1.

The basis of the code defined by (3.2) is the union of the sets of basis vectors of all t ( ). As a result, the dimension of is K 2k. This code is then denoted i Q0 Q ((n, K2k, d)), where d is the distance of the new code. Generally, this distance does not exceed the distance of the original code with respect to the same error set, d( ) d( ). Q ≤ Q0 However, if the code is degenerate and the original code is one-dimensional, this Q Q0 need not be true.

3.2 Graph states

The unique state s defined by Eq. (2.7) itself forms a single-state stabilizer | i code [[n, 0, d′]]. Its stabilizer S G1,...,Gn k, Z1,... Zk has exactly n mutually ≡ h − i

36 commuting generators. Note that for stabilizer states we follow the convention that the distance d′ is given by the minimum weight of the non-trivial elements of the stabilizer

n S . Generally, such a state stabilized by an Abelian subgroup in Pn of order 2 (which does not include 11) is called a stabilizer state [16]. − A graph state [22] is a stabilizer state of a group whose n mutually commuting generators S are defined by a (simple) n-vertex graph with an adjacency matrix i G n n R 0, 1 × . Specifically, the generators are ∈ { }

r S X ZRi1 ZRi2 ...ZRin X Z i , (3.3) i ≡ i 1 2 n ≡ i where ri, i = 1,...n denotes the ith row of the adjacency matrix R. A graph state can be efficiently generated [39, 20] by first initializing every qubit in the state + = | i ( 0 + 1 )/√2 (e.g., applying the Hadamard gate on 0 ), and then using a controlled-Z | i | i | i gate CZ on every pair (i, j) of qubits corresponding to an edge of the graph (V, E), i,j G ≡

Z n s = Ci,jH⊗ 0 U 0 n , (3.4) | i | in ≡ G | i (i,j) E Y∈ where 0 is a state with all n qubits in state 0 . | in | i Any stabilizer state is locally Clifford-equivalent (LC-equivalent) to a graph state [40, 41, 42]. That is, any stabilizer state can be transformed into a graph state by individual discrete rotations of the qubits. This defines the canonical form of a stabilizer state. 3 2 2 4 (b) (a) 1 3 1 5

Figure 3.2: Ring graphs with (a) 3 vertices and (b) 5 vertices.

37 0 H Z | i •  0 H Z  s | i •  | i  0 H Z | i •  a  | i 

Figure 3.3: Circuit for generating 3 vertices graph states.

Example 2. Consider the ring graph for n = 3 [fig. 3.2(a)] which defines the stabilizer generators S1 = XZZ, S2 = ZXZ, S3 = ZZX. The corresponding stabilizer state s is an equal superposition of all 23 states [result of the Hadamard gates in | i Eq. (3.4)], taken with positive or negative signs depending on the number of pairs of ones at positions connected by the edges of the graph [result of the gates CZ = ( 1)ij]. i,j − In the following expressions we omitted normalization for clarity:

s = 000 + 001 + 010 011 | i | i | i | i − | i

+ 100 101 110 111 (3.5) | i − | i − | i − | i

= S s = 010 011 + 000 + 001 2| i | i − | i | i | i

110 111 + 100 101 , (3.6) − | i − | i | i − | i which is generated by circuit in fig. 3.2. This circuit returns s = 000 + 001 + 010 | i | i | i | i− 011 + 100 101 110 111 . Intermediate result is: a = 000 + 001 + 010 + | i | i − | i − | i − | i | i | i | i | i 011 + 100 + 101 + 110 + 111 . | i | i | i | i | i

3.3 CWS codes and Standard Form

Codeword stabilized (CWS) codes [19, 20] represent a general class of non- additive quantum codes that also includes stabilizer codes. They can be viewed as USt

38 codes originating from a stabilizer state. Any CWS code is locally Clifford-equivalent to a CWS code which originates from a graph state [20].

Specifically, a CWS code ((n,K,d)) in standard form [20] is defined by a graph

with n vertices and a classical code containing K binary codewords c . The orig- G C i inating stabilizer state is the graph state s defined by , and the codeword operators | i G c [translations in Eq. (3.2)] have the form W Z i , i = 1,...K. For a CWS code in i ≡ standard form we use the notation = ( , ). Q G C An important observation made in Ref. [20] is that a single qubit error X, Z, or Y acting on a code state

w W s (3.7) | ii≡ i| i is equivalent (up to a phase) to an error composed only of Z operators. This establishes the following mapping between multi-qubit errors and classical binary errors. First, let

0,1 E = Z{ }X be an error acting on the ith qubit of W s . Then we see that i i i j| i

E W s = E W S s = (E S )W s , i j| i i j i| i ± i i j| i

0,1 ri where the term EiSi = Zi{ }Z consists only of operators Z. The general mapping of an error E = imZvXu from the error set P to a classical error vector in 0, 1 n E ⊂ n { } is defined as n Cl (E) v ulrl, (3.8) G ≡ ⊕ Ml=1 where ul is the l th component of the vector u. We will refer to both the binary vector

Cl (E) and the operator ZClG (E) as the graph image of the Pauli operator E. G Theorem 3 from Ref. [20] establishes the correspondence between the error- correcting properties of a quantum code and those of the corresponding classical code Q . It states that a CWS code (in standard form) given by a graph and word operators C G c Wl = Z c detects errors in the set if and only if the classical code detects errors { } ∈C E C

39 from the set Cl ( ), and for each E , G E ∈E

either Cl (E) = 0, (3.9) G 6 c c or, for each i, Z i E = EZ i . (3.10)

The code is non-degenerate iff condition (3.9) is satisfied for all errors in [20, 21]. Q E For a degenerate code, condition (3.10) needs to be ensured for errors that do not satisfy

Eq. (3.9).

The beauty of the CWS construction is that, for a given code in standard form, we no longer need to worry about possible degeneracies. The classical error patterns induced by the function Cl (·) also separate the errors into corresponding degeneracy G classes [20, 21].

The CWS framework is general enough to also include all stabilizer codes [20].

Specifically, a stabilizer code [[n,k,d]] with the stabilizer S0 = G1,...Gn k and logical h − i operators Zi, Xi, corresponds to a CWS code with the stabilizer

S = G1,...Gn k, Z1,..., Zk (3.11) h − i and the codeword operator set W = X ,..., X forming a group of size K = 2k. h 1 ki Generally, an LC transformation is required to obtain standard form of this code.

Conversely, an additive CWS code = ((n,K,d)) where the codeword opera- Q tors form an Abelian group (in which case K = 2k with integer k) is a stabilizer code

[[n,k,d]] [20]. In Sec. 5.1.2 we show that the n k generators G of the stabilizer can be − i obtained from the graph-state generators Si [Eq. (3.3)] by a symplectic Gram-Schmidt orthogonalization procedure [36] which has no effect on the codeword operators.

Example 3. Consider a non-degenerate CWS code ((5, 6, 2)). The corre- sponding ring graph is illustrated in Fig. 3.2(b) (Ref. [20]). The n = 5 generators of the

40 stabilizer S are S1 = XZIIZ and its four cyclic permutations. The corresponding sta- bilizer state has a structure similar to Eq. (3.5), but with more terms. Word operators

c have the form Z i , with the classical codewords

c0 = 00000, c1 = 01101, c2 = 10110, (3.12)

c3 = 01011, c4 = 10101, c5 = 11010.



Example 4. To express the [[5, 1, 3]] stabilizer code [see Example 1] as a

((5, 2, 3)) CWS code in standard form, we explicitly construct alternative generators Si of the stabilizer S = G , G , G , G , Z [Eq. (3.11)] to contain only one X operator h 1 2 3 4 i each. We obtain S3 = G1G2Z = IZXZI and its four cyclic permutations. This does not require any qubit rotations due to a slightly unconventional choice of the logical operators in Eq. (2.11). The corresponding graph is the ring [20], see Fig. 3.2(b).

The codeword operators are W = I, X , which by Eq. (2.11) correspond to classical  binary codewords 00000, 11111 . Note that the error map induced by the graph is { }

ClG (Z2) different from the mapping to group elements in Example 1; in particular, Z = Z2,

ClG (X2) ClG (Y2) Z = Z1Z3, Z = Z1Z2Z3. 

3.4 Generic recovery for CWS codes

In this section we construct a generic recovery algorithm which can be adapted to any non-additive code. To our best knowledge, such an algorithm has not been explicitly constructed before.

The basic idea is to construct a non-Pauli measurement operator M = 2P Q Q − K 11, where P i=1 wi wi is the projector onto the code spanned by the or- Q ≡ | ih | Q P thonormal basis w K . The measurement operator is further decomposed using the {| ii}i=1

41 identity K K M = 11 2 wi wi = (11 2 wi wi ). (3.13) − Q − | ih | − | ih | Xi Yi We use the graph state encoding unitary U from Eq. (3.4) and the following G decomposition [20] of the standard-form basis of the CWS code in terms of the graph state s and the classical states c : | i | ii

ci ci ci wi = Z s = Z U 0 n = U X 0 n = U ci . | i | i G | i G | i G| i

The measurement operator M is rewritten as a product Q K

M = U M U † , M Mci (3.14) Q − G C G C ≡ Yi=1 where the measurement operator

c c Mc 11 2 c c = X i 11 2 1 1 X i , (3.15) i ≡ − | iih i| − | in h |n  stabilizes the orthogonal complement of the classical state c . The components of the | ii binary vector c are the respective complements of c , c = 1 c . The operator in i i i,j ⊕ i,j the parentheses in Eq. (3.15) is the (n 1)-controlled Z gate (the Z-operator is applied − to the n-th qubit only if all the remaining qubits are in state 1 ). Quantum circuits | i for operators M i of CWS codes in example 3 is shown in fig. 3.4. By, concatenating ⌋ operators M i , we have the whole operator M , as shown in fig. 3.5. ⌋ C A controlled-Z gate can also be represented as an n-qubit controlled phase gate

θ Cn exp(iθP 1 ) with θ = π, where the operator P 1 projects onto the state 1 n. ≡ | in | in | i This can be further decomposed as a product of two Hadamard gates and an (n 1)- − controlled CNOT gate [fig. 3.6] which for n 6 can be implemented in terms of one ≥ ancilla and 8(n 4) three-qubit Toffoli gates [34] and therefore has linear complexity in − n. With no ancillas, the complexity of the (n 1)-controlled CNOT gate is (n2) [34]. − O

42 X X X X • • • X X X X • • • X X • • • X X X X • • • X Z X Z X Z X

(a) Mc0 , c0 = 00000. (b) Mc1 , c1 = 01101. (c) Mc2 , c2 = 10110.

X X • • • X X • • • X X X X • • • X X • • • Z Z X Z X

(d) Mc3 , c3 = 01011. (e) Mc4 , c4 = 10101. (f) Mc5 , c5 = 11010.

Figure 3.4: Operators Mci , i = 0,..., 5 for [[5, 6, 2]] code in example 3.

X X X X • • • • • • X X X X X X • • • • • • X X X X X X • • • • • • X X X X • • • • • • X Z X Z X Z X Z Z X Z X

Figure 3.5: Operator M for [[5, 6, 2]] code in example 3. C

• • π C3 ≡ • = • Z H  H

Figure 3.6: Decomposition of n-qubit controlled-Z gate CZ in terms of (n 1)-controlled n − CNOT gate (n-qubit Toffoli gate) for n = 3.

43 The corresponding ancilla-based measurement for Mci can be constructed with

π the help of two Hadamard gates [fig. 2.1] by adding an extra control to each Cn gate.

Indeed, this correlates the state 1 of the ancilla with Mc acting on the n qubits, | i i and the state 0 of the ancilla with 11. When constructing the measurement for the | i product of the operators Mci , it is sufficient to use only one ancilla, since for each basis state w only one of these operators acts non-trivially. The classical part of the overall | ii c measurement circuit without the graph state encoding U is shown in fig. 3.7, where X i G c indicates that a single-qubit gate X i,j is applied at the j th qubit, j = 1,...n, and CMi

is the controlled-Mci gate [see Eq. (3.15)]. This can be further simplified by combining

c the neighboring Xi,j-gates and replacing the controlled-Z gates by (n + 1)-qubit Toffoli gates as in fig. 3.6.

|0i H Z Z · · · Z H |0i PMC |ψi + |1i QMC |ψi |ψi /n Xc1 • Xc1 Xc2 • Xc2 · · · XcK • XcK

M1 M2 MK | C{z } | C{z } | C{z }

Figure 3.7: Generic measurement of the classical part M of the CWS code stabilizer C M [Eq. (3.14)] uses K (n + 1)-qubit controlled-Z gates. Q

The complexity of measuring M [Eq. (3.14)] then becomes K times the com- Q plexity of (n + 1)-qubit Toffoli gate for measuring each Mci , plus the complexity of the

2 encoding circuit U and its inverse U † , which is at most n . Overall, for large n, the G G measurement complexity is no larger than n2 + K (n), or (1 + K) (n2) for a circuit O O without additional ancillas.

We would like to emphasize that so far we have only constructed the mea- surement for error detection. Actual error correction for a non-additive code in this scheme involves constructing measurements ME EM E† for all corrupted subspaces ≡ Q corresponding to different degeneracy classes given by different Cl (E). This relies on G

44 the orthogonality of the corrupted subspaces. For a general t-error correcting code, the number of these measurements can reach the same exponential order B(n,t) as the num- ber of correctable errors in Eq. (1.1). For non-degenerate codes, we cannot do better using this method.

A clustered error correction algorithm that reduce the number B(n,t) by a factor 3t is presented in later chapters. The main steps to design this algorithm is as follows, we first design an error detection algorithm for USt codes with using logical combination of measurements, secondly, we convert correcting error for CWS codes to detecting error for USt codes, at this time, a group errors can be tested by one measurement. A reduction in number of measurement is thus achieved.

45 Chapter 4

Union Stabilizer Quantum Codes

In sec. 4.1, we construct a for the measurement operator M Q of a USt code ((n, K2k, d)). To this end, we define the logical combinations of non-Pauli measurements in agreement with analogous combinations defined in Ref. [32] for the projection operators, and construct the circuits for logical combinations AND [figs. 4.1,

4.2] and XOR [figs. 4.3, 4.4]. We use these circuits to construct the measurement for

M with complexity not exceeding 2K(n + 1)(n k). In sec. 4.2, we use combination Q − of measurements to design error detection algorithm for USt codes. This algorithm is to be used in ch. 5 to design an improved error correction algorithm for generic CWS codes.

4.1 Algebra of measurements

Logical AND: Given two commuting measurement operators M1 and M0, let

M M denote the measurement operator that stabilizes all states in the subspace 1 ∧ 0

(M M ) (M ) (M ). (4.1) P 1 ∧ 0 ≡ P 1 ∩ P 0

46 The output of the measurement M M is identical to the logical AND operation 1 ∧ 0 performed on the output of measurements M1 and M0. This measurement can be implemented by the circuit in fig. 4.1. In this circuit, we use the notations P P , i ≡ Mi Q 11 P , i = 0, 1 and assume P P = P P . The circuit returns f = 1 P P ψ + i ≡ − i 1 0 0 1 | i | i 1 0 | i 0 (11 P P ) ψ . Intermediate results are: a = 000 P ψ + 100 Q ψ , b = | i − 1 0 | i | i | i 1 | i | i 1 | i | i 000 P P ψ + 010 P Q ψ + 100 Q P ψ + 110 Q Q ψ , c = 001 P P ψ + | i 1 0 | i | i 1 0 | i | i 1 0 | i | i 1 0 | i | i | i 1 0 | i 010 P Q ψ + 100 Q P ψ + 110 Q Q ψ ; the last two groups of gates return the | i 1 0 | i | i 1 0 | i | i 1 0 | i first two ancillas to the state 00 . Here the first two ancillas are entangled with the two | i measurement outcomes; the third ancilla is flipped only if both ancillas are in the 0 | i state, which gives the combination 1 PM1 M0 ψ . | i ∧ | i |0i H • H X • X H • H |0i |0i H • H X • X H • H |0i |0i   |fi n  |ψi / M1 M0 M0 M1 |ai |bi |ci 

Figure 4.1: Measurement M M by performing logical AND operation on two ancillas. 1 ∧ 0

|0i H • H X • • • X H • H |0i |0i •  H H  |1i P1P0 |ψi + |0i (11 − P1P0) |ψi n  |ψi / M1 M0 M1 |ai |bi 

Figure 4.2: Simplified measurement for M M . 1 ∧ 0

|0i H • H • H • H |0i |0i H • H   |fi n  |ψi / M0 M1 M1 

Figure 4.3: Measurement M1 ⊞ M0 by performing logical XOR gate on the two ancillas and subsequent recovery of the first ancilla.

47 |0i H • • H  |fi n  |ψi / M0 M1 

Figure 4.4: Simplified measurement for M1 ⊞ M0.

The projector onto the positive eigenspace of M M satisfies the identity 1 ∧ 0

PM1 M0 = PM1 PM0 . (4.2) ∧

This identity can be used to obtain a simplified circuit which only uses two ancillas, see

fig. 4.2, with the price of two additional controlled-Hadamard gates [fig. 4.5].

• • = H −π/4 π/4 Ry Z Ry

Figure 4.5: Implementation of the controlled-H gate based on the identity H = exp( iY π/8)Z exp(iY π/8). −

The circuits in figs. 4.1 and 4.2 can be generalized to perform the measurement corresponding to the logical AND of ℓ> 1 commuting measurement operators with the help of associativity, e.g., M M M = M (M M ). The generalization of the 2 ∧ 1 ∧ 0 2 ∧ 1 ∧ 0 simplified circuit in Fig. 4.2 requires only two ancillas for any ℓ > 1. In this circuit, intermediate results (cf. fig. 2.1) are: a = 00 P ψ + 10 Q ψ , b = 0 ( 1 P + | i | i 1 | i | i 1 | i | i | i | i 0 0 Q )P ψ + 10 Q ψ . The effect of the last block is to select the component with | i 0 1 | i | i 1 | i the first ancilla in the state 0 ; this requires that the projectors P and P commute. | i 1 0

The result is equivalent to 1 PM1 M0 ψ + 0 (11 PM1 M0 ) ψ . The corresponding | i ∧ | i | i − ∧ | i complexity is 2ℓ 1 times the complexity of a controlled-M gate, plus 2ℓ 1 times the − − complexity of a controlled single-qubit gate. When all Mi are n-qubit Pauli operators, the overall complexity with two ancillas is (2ℓ 1)(n + 1). − Logical XOR: In analogy with the logical “exclusive OR”, we define the sym-

48 metric difference A B C... of vector spaces A, B, C, . . . as the vector space formed △ △ by the basis vectors that belong to an odd number of the original vector spaces. For two vector spaces

A B (A B⊥) (B A⊥). (4.3) △ ≡ ∩ ⊕ ∩

This operation is obviously associative, A (B C) = (A B) C. For two commuting △ △ △ △ measurement operators M0, M1, let M1⊞M0 be the measurement operator that stabilizes the subspace (M ) (M ). Explicitly, P 1 △ P 0

(M ⊞ M ) (M ) (M ) P 1 0 ≡ P 1 △ P 0

= (M ) ⊥(M ) (M ) ⊥(M ) . (4.4) P 1 ∩ P 0 ⊕ P 0 ∩ P 1 h i h i

The output of measuring M1 ⊞ M0 is identical to the logical XOR operation performed on the outputs of measurements M1 and M0. The corresponding measurement can be implemented by combining the two ancillas with a CNOT gate [fig. 4.3]. Notations as in fig. 4.1. The final result is f = 1 (P Q + P Q ) ψ + 0 (P P + Q Q ) ψ . | i | i 0 1 1 0 | i | i 0 1 0 1 | i To simplify this measurement, we show that M ⊞ M = M M . Indeed, 1 0 − 1 0 Eq. (4.4) implies that for the projection operators P P , i = 0, 1, i ≡ Mi

P ⊞ = P (11 P )+ P (11 P ). M1 M0 1 − 0 0 − 1

The corresponding measurement operator is factorized with the help of the projector identities (2.2),

M ⊞ M = 2[P (11 P )+ P (11 P )] 11 1 0 1 − 0 0 − 1 −

= (2P 11)(2P 11) = M M . − 1 − 0 − − 1 0

This implies that (M ⊞M )= (M M ). In other words, the measurement of M ⊞ P 1 0 P⊥ 1 0 1

M0 can be implemented simply as an (inverted) concatenation of two measurements, see

49 fig. 4.4. In this figure, notations as in fig. 4.1. The result (cf. fig. 2.1) f = 1 (Q P + | i | i 1 0

P Q ) ψ + 0 (P P +Q Q ) ψ is equivalent to 1 P ⊞ ψ + 0 (11 P ⊞ ) ψ . 1 0 | i | i 1 0 1 0 | i | i M1 M0 | i | i − M1 M0 | i The same circuit can also be obtained from that in Fig. 4.3 by a sequence of circuit simplifications (not shown).

The circuit in Fig. 4.4 is immediately generalized to a combination of more than two measurements, M ⊞. . .⊞M = ( 1)l 1M ...M . The corresponding complexity for 1 ℓ − − 1 ℓ computing the XOR of ℓ measurements is simply the sum of the individual complexities, implying that this concatenation has no overhead.

4.2 Error detection for union stabilizer codes

A USt code = ((n, K 2k, d)) is a direct sum (3.2) of K mutually orthogonal Q subspaces obtained by translating the originating stabilizer code = [[n,k,d ]]. For Q0 0 mutually orthogonal subspaces A B, we have A B and B A , and the direct ⊥ ⊂ ⊥ ⊂ ⊥ sum is the same as the symmetric difference (4.3), A B = A B. ⊕ △ In turn, the stabilizer code is an intersection of the subspaces stabilized by Q0 the generators G of the stabilizer, see Eq. (2.6). The translated subspaces t ( ) are i j Q0 stabilized by the Pauli operators Mi,j = tjGitj†. We can therefore decompose the USt code as Q K n k n k − K − = (M ) = (M ) . (4.5) Q P i,j P i,j Mj=1 i\=1  △j=1 i\=1  This gives the decomposition of the measurement operator M whose positive eigenspace Q is the code as Q n k K − M = ⊞ Mi,j . (4.6) Q j=1 " # i^=1 Recall that the complexity of each of the K logical AND operations is [2(n − k) 1](n+1). No additional overhead is required to form the logical XOR of the results. −

50 Thus, we obtain the following

Theorem 12. Error detection for a USt code of length n and dimension K 2k, formed by a translation set of size K > 0, has complexity at most 2K(n k)(n + 1). −

Note that in the special case of a CWS code (k = 0), the prefactor of K is quadratic in n whereas the corresponding prefactor obtained in ch. 3 is linear in n.

The reason is that in Eq. (3.14) the graph encoding circuit Q with complexity (n2) G O is used only twice, and the projections onto the classical states have linear complexity.

In Eq. (4.6) we are using K projections onto basis states of the quantum code. The ad- vantage of the more complex measurement constructed in this section is that it does not involve having unprotected decoded qubits for the entire duration of the measurement.

51 Chapter 5

Clustered Error Correct

5.1 Structured measurement for CWS codes

5.1.1 Grouping correctable errors

For stabilizer codes, the representatives of the error degeneracy classes form an

Abelian group whose generators are in one-to-one correspondence with the generators of the stabilizer. Measuring the n k generators of the stabilizer of a stabilizer code − [[n,k,d]] uniquely identifies the degeneracy class of the error.

In this section we establish a similar structure for CWS codes. First, for any subset of correctable errors of a quantum code , we define the set of unrelated D⊂E Q ED errors which do not fall in the same degeneracy class with any error from . The formal D definition

E : E CE,E1 = 0, E1 (5.1) ED ≡ { ∈E∧ ∀ ∈ D} is based on the general error correction condition (2.4) and the orthogonality of corrupted spaces, see Appendix. When errors in are non-degenerate, the definition (5.1) is E equivalent to the set difference, . In the general case, since we do not distinguish E \ D

52 between mutually degenerate errors, can be thought of as the difference between the ED sets of degeneracy classes in and in . E D Definition (5.1) implies that the subspaces

( ) E( ) D Q ≡ Q E M∈D and ( ), defined analogously, are mutually orthogonal. Moreover, if the elements of ED Q the set form a group D , the subspace D( ) is also orthogonal to [D( )] [see D ≡ D Q ED Q

Eq. (5.6) below]. In other words, D D( ) can be viewed as a quantum code which Q ≡ Q detects errors from ED .

This observation, together with the error-detection measurement for USt codes constructed in the previous section, forms the basis of our error grouping technique. We prove the following

Theorem 13. For a CWS code = ( , ) in standard form and a group D formed by Q G C graph images of some correctable errors in , the code D D( ) is a USt code which E Q ≡ Q detects all errors in . ED

Proof. First, we show that the subspace D( ) is a USt code. The corresponding set Q of basis vectors is K D ( w ,..., w ) e w . (5.2) {| 1i | Ki} ≡ { α | ii} eα D i=1 [∈ [ These vectors are mutually orthogonal,

w e† e w = 0, i, j K, e , e D, e = e , (5.3) h i| β α | ji ∀ ≤ α β ∈ α 6 β

ClG (Eα) since every element eα = Z of the group D is a representative of a separate error degeneracy class. Further, the group D is Abelian, and its elements commute with the codeword generators W = Zc, c . Therefore, using Eq. (3.7), we can rearrange the i i i ∈C

53 set (5.2) as K D ( w1 ,..., wK )= Wi eα s eα D . (5.4) {| i | i} { | i} ∈ i=1 [  The set in the parentheses on the right hand side is a basis of the additive CWS code

D formed by the group D acting on the graph state s . Then, we can write the Q0 | i subspace D( ) explicitly as a USt code [cf. Eq. (3.2)] Q K D( )= W ( D ), (5.5) Q i Q0 Mi=1 where the translations are given by the set of codeword operators W K of the W ≡ { i}i=1 original code . Orthogonality condition (3.1) is ensured by Eq. (5.3). Q Second, we check the error-detection condition (2.3) for the code (5.5). Explic- itly, for an error E , and for the orthogonal basis states e W s , ∈ED α i | i

s W †e† Ee W s = w Ee† e w = 0 (5.6) h | i α β j | i ± h i| α β | ji for all α, β, i, j, according to Eqs. (2.4), (5.1) and the group property of D. 

Now, to correct errors in groups, we just have to find a suitable decomposition

D of the graph images of the original error set into a collection of groups, Cl ( )= j j, G E S and perform individual error-detection measurements for the auxiliary codes D until Q j the group containing the error is identified.

To find an error within a group D g ,...,g with m generators, we can ≡ h 1 mi try all m subgroups of D with one generator missing. More specifically, for a gener-

(l) ator gl we consider the subgroup D = g1,...,gl 1, gl+1,...,gm and perform error h − i detection for the code (l) D (l)( ). After completing m measurements, we obtain a QD ≡ Q representative of the actual error class. This is the product of all generators gl for which the corresponding code (l) detected an error. QD

54 5.1.2 Complexity of a combined measurement

To actually carry out the discussed program, we need to construct the n m − generators G of the stabilizer of the code D . The generators have to commute with i Q0 the m generators gα in the group D.

This can be done with the Gram-Schmidt (GS) orthogonalization [36] of the graph-state generators Si [Eq. (3.3)] with respect to the generators gα. As a result, we obtain the orthogonalized set of independent generators S such that g S = ( 1)δiα S g . i′ α i′ − i′ α We can take the last n m of the obtained generators as the generators of the stabilizer, − G = S , i = 1,...,n m. i i′+m − The orthogonalization procedure is guaranteed to produce exactly m generators

Sα′ anti-commuting with the corresponding errors gα, α = 1,...,m. Indeed, the GS orthogonalization procedure can be viewed as a sequence of row operations applied to the original n m binary matrix B with the elements b which define the original × iα commutation relation,

S g = ( 1)biα g S . (5.7) i α − α i

The generator gα anti-commutes with at least one operator in S if and only if the α-th column of B is not an all-zero column. Then all m generators are independent (no generator can be expressed as a product of some others) if and only if B has full column rank.

By this explicit construction, the generators Gi of the stabilizer of the auxiliary code D [Eq. (5.5)] are Pauli operators in the original graph-state basis. The complexity Q of each error-detection measurement M( D ) is therefore given by Theorem 12. Q

55 5.1.3 Additive CWS codes

The procedure described above appears to be extremely tedious, much more complicated than the syndrome measurement for a stabilizer code. However, it turns out that for stabilizer codes this is no more difficult than the regular syndrome-based error correction.

Indeed, for a stabilizer code = [[n,k,d]], the degeneracy classes for all cor- Q rectable errors form a group of all translations of the code, D T = g1,...,gn k , ≡ h − i with n k generators. To locate the error, we just have to go over all n k USt codes − − D (l)( ) generated by the subgroups of D with the generator g missing. Since the orig- Q l inating code is a stabilizer code, the USt codes D (l)( ) are actually stabilizer codes, Q Q encoding k˜ = k+(n k 1) = n 1 qubits each. Hence there is only one non-trivial error, − − − (l) and up to error degeneracies, D(l) = g . The corresponding stabilizers S have only E h li one generator each. The necessary measurements are just independent measurements of n k Pauli operators, the same as needed to measure the syndrome. Moreover, if − the error representatives g , l = 1,...,n k, are chosen to satisfy the orthogonality l − condition G g = ( 1)δil g G as in Example 1, the operators to be measured are the i l − l i original generators Gi of the stabilizer, and the corresponding measurement is just the syndrome measurement.

Example 5. Consider the additive code ((5, 2, 3)) equivalent to the stabilizer code [[5, 1, 3]], see Examples 1 and 4. The graph-induced maps of single-qubit errors form a group of translations of the code, T = Z ,Z ,Z ,Z . This group contains all error h 1 2 3 4i degeneracy classes, D = T . With the addition of the logical operator X ZZZZZ, ≡ 5 these can generate the entire 5-qubit Hilbert space ⊗ from the graph state s ; we H2 | i 5 have T ( )= ⊗ . Q H2

56 Indeed, if we form a measurement as for a generic CWS code, we first obtain the stabilizer of the auxiliary code D [Eq. (5.5)] which in this case has only one generator, Q0 S = S , where S = ZIIZX, see Example 4. Translating this code with the set (in h 5i 5 this case, group) W = I, X of codeword operators, we get the auxiliary USt code { }

W ( D ) as the union of the positive eigenspaces of the operators [see Eq. (4.5)], Q0

M = S , M = XS X† = S , 1,0 5 1,1 5 − 5

5 which is the entire Hilbert space, W ( D )= D( )= ⊗ , as expected. Q0 Q H2 To locate the error within the group D with m = 4 generators, we form a set of smaller codes (l) D (l)( ), l = 1,..., 4, where the group D (l) is obtained from QD ≡ Q D by removing the l-th generator. The corresponding stabilizers are S (1) = S ,S , h 1 5i S (2) = S ,S , etc. The matrices M (l) of conjugated generators have the form, e.g., h 2 5i i,j

S , S S , S (1) 1 − 1 (2) 2 − 2 Mi,j =   , Mi,j =   ,...  S5, S5   S5, S5   −   −      The code (l) is formed as the union of the common positive eigenspaces of the oper- QD (l) ators in the columns of the matrix Mi,j . Clearly, these codes can be more compactly introduced as positive eigenspaces of the operators G˜l = SlS5, l = 1,..., 4. Such a simplification only happens when the original code is additive. While the operators Q

G˜i are different from the stabilizer generators in Eq. (2.10), they generate the same stabilizer S = G˜ ,..., G˜ of the original code . It is also easy to check that the h 1 4i Q same procedure gives the original generators Gi [Eq. (2.10)] if we start with the error representatives (2.12). 

57 5.1.4 Generic CWS codes

Now consider the case of a generic CWS code = ((n,K,d)). Without ana- Q lyzing the graph structure, it is impossible to tell whether there is any set of classical images of correctable errors that forms a large group. However, since we know its min- imum distance, we know that the code can correct errors located on t = (d 1)/2 ⌊ − ⌋ qubits. All errors located on a given set of qubits form a group. Therefore, by taking an index set A 1,...,n of s t different qubit positions, we can ensure that the ⊂ { } ≤ s corresponding correctable errors E 4 form a group with 2s independent generators. { j}j=1

The corresponding graph images Cl (Ej) DA obey the same multiplication table, G ∈ but they are not necessarily independent. As a result, the Abelian group DA generally has m 2s generators. Since all group elements correspond to correctable errors, the ≤ conditions of Theorem 13 are satisfied.

Overall, to locate an error of weight t or less, we need to iterate over each (but

n the last one) of the t index sets of size t and perform the error-detecting measurements  in the corresponding USt codes ( ) until the index set with the error is found. This EA Q requires up to n 1 measurements to locate the index set, and the error can be identified t −  after additional m 2t measurements. This can be summarized as the following ≤

Theorem 14. A CWS code of distance d can correct errors of weight up to t =

(d 1)/2 by performing at most ⌊ − ⌋

n N(n,t) + 2t 1 (5.8) ≡ t −   measurements.

For any length n 3, this scheme reduces the total number (1.1) of error ≥

58 patterns by a factor 3n + 1 , if t = 1, B(n,t)  n + 1  (5.9) N(n,t) ≥   3t , if t> 1.   Example 6. Consider the ((5, 6, 2)) code previously discussed in Example 3.

While the distance d = 2 is too small to correct arbitrary errors, we can correct an error located at a given qubit. Assume that an error may have happened on the second qubit. Then we only need to check the index set A = 2 . The errors 11, X ,Y ,Z { } { 2 2 2} located in A form a group with generators X ,Z ; the corresponding group of classical { 2 2} error patterns induced by the ring graph in Fig. 3.2(b) is D = Z Z ,Z . The three A h 1 3 2i generators G of the stabilizer of the originating USt code D can be chosen as, e.g., i Q0 A

G1 = S1S3 = XIXZZ, G2 = S4 = IIZXZ, G3 = S5 = ZIIZX. Using the classi-

cj cal codewords (3.12) for the translation operators tj = Z , we obtain the conjugated generators Mi,j = tjGitj†

G1, G1, G1, G1, G1, G1  − −  M = . (5.10) i,j  G2, G2, G2, G2, G2, G2   − − −       G3, G3, G3, G3, G3, G3   − − −    According to Eq. (4.5), the auxiliary code D is a direct sum of the common positive Q A eigenspaces of the operators in the six columns of the matrix (5.10).

To locate the actual error in this 24-dimensional space, we consider the two subgroups D (1) = ZIZII and D (2) = IZIII of D . The stabilizers of the corre- h i h i A (1) (2) (1) sponding auxiliary codes D and D can be obtained by adding G = S2 = ZXZII Q A Q A 4 (2) and G4 = S3 = IZXZI, respectively; this adds one of the rows

M (1) = (S , S , S , S , S , S ), (5.11) 4,j 2 − 2 2 − 2 2 − 2

M (2) = (S , S , S , S , S , S ) (5.12) 4,j 3 − 3 − 3 3 − 3 3

59 (1) (2) to the matrix (5.10). The original code is the intersection of the codes D and D ; Q Q A Q A (1) (2) the corrupted space X2( ) is located in D , but not in D , while, e.g., the corrupted Q Q A Q A (1) (2) space Y2( ) is located in D , but not in D or D .  Q Q A Q A Q A

5.1.5 General USt codes

A similar procedure can be carried over for a general USt code ((n, K 2k, d)), with the only difference that the definitions of the groups D and the auxiliary codes

D [Eq. (5.5)] should also include the k generators of the originating stabilizer code Q0 [Sec. 3.1]. Overall, the complexity of error recovery for a generic USt code can be Q0 summarized by the following

Theorem 15. Consider any t-error correcting USt code of length n and dimension K 2k, with the translation set of size K. Then this code can correct errors using n + 2t 1 t −  or fewer measurements, each of which has complexity 2K(n + 1)(n k 1) or less. − −

5.1.6 Error correction beyond t

For additive quantum codes, the syndrome measurement locates all error equiv- alence classes, not only those with “coset leaders” of weight s < d/2. The same could be achieved with a series of clustered measurements, by first going over all clusters of weight s = t, then s = t + 1, etc. This ensures that the first located error has the smallest weight. In contrast, such a procedure will likely fail for a non-additive code where the corrupted spaces E1(Q) and E2(Q) can partially overlap if either E1 or E2 is non-correctable. For instance, the measurement in Example 6 may destroy the coherent superposition if the actual error (e.g., Z , i = 2) was not on the second qubit. i 6 Therefore, if no error was detected after n 1 measurements, we can continue t −  searching for the higher-weight errors only after testing the remaining size-t index set.

60 With a non-additive CWS code, generally we have to do a separate measurement for each additional correctable error of weight s>t.

61 Chapter 6

Conclusions

For generic CWS and USt codes, we constructed a structured recovery algo- rithm which uses a single non-Pauli measurement to check for groups of errors located on clusters of t qubits. Unfortunately, for a generic CWS code with large K and large distance, both the number of measurements and the corresponding complexity are expo- nentially large, in spite of the exponential acceleration already achieved by the combined measurement.

To be deployed, error-correction must be complemented with some fault-tolerant scheme for elementary gates. It is an important open question whether a fault-tolerant version of our measurement circuits can be constructed for non-additive CWS codes. It is clear, however, that such a procedure would not help for any CWS code that needs an exponential number of gates for recovery. Therefore, the most important question is whether this design can be simplified further.

We first note that the group-based recovery [see Theorem 13] is likely as efficient as it can possibly be, illustrated by the example of additive codes in Sec. 5.1.3 where this procedure is shown to be equivalent to syndrome-based recovery. Also, while it

62 is possible that for fixed K the complexity estimate of Theorem 12 can be reduced in terms of n (e.g., by reusing ancillas with measured stabilizer values), we think that for a generic code the complexity is linear in K.

However, specific families of CWS codes might be represented as unions of just a few stabilizer codes which might be mutually equivalent as in Eq. (3.2), or non- equivalent [28]. The corresponding measurement complexity for error detection would then be dramatically reduced. Examples are given by the quantum codes derived from the classical non-linear Goethals and Preparata codes [23, 24].

Another possibility is that for particular codes, larger sets of correctable er- rors may form groups. Indeed, we saw that for an additive code ((n, 2k, d)), all error

n k degeneracy classes form a large group of size 2 − which may include some errors of weight well beyond t. Such a group also exists for a CWS code which is a subcode of an additive code. There could be interesting families of non-additive CWS codes which admit groups of correctable errors of size beyond 22t. For such a code, the number of measurements required for recovery could be additionally reduced.

63 Appendix

As discussed in Sec. 2.2, for a general non-additive quantum code and two Q linearly independent correctable errors, the corrupted spaces E ( ) and E ( ) may be 1 Q 2 Q neither identical nor orthogonal [17]. However, for CWS and USt codes it is almost self-evident that when E ( ) and E ( ) do not coincide, they are mutually orthogonal. 1 Q 2 Q This orthogonality is inherited from the originating stabilizer code . In particular, Q0 in some previous publications (e.g., Ref. [20]) orthogonality is implied in the discussion of degenerate errors for CWS codes. However, to our knowledge, it was never explicitly discussed for CWS or USt codes. Since our recovery algorithms for CWS and USt codes rely heavily on this orthogonality, we give here an explicit proof.

First, consider a stabilizer code . For any Pauli operator E E†E , there Q0 ≡ 1 2 are three possibilities: (i) E is proportional to a member of the stabilizer group, E γS, ≡ where S S and γ = im, m = 0,..., 3, (ii) E is in the code normalizer N but is ∈ 0 0 linearly independent of any member of the stabilizer group, and (iii) E is outside of the normalizer, E N . 6∈ 0 Case (i) implies that the space E( ) is identical to the code ; the errors Q0 Q0 E and E are mutually degenerate. Indeed, for any basis vector i , the action of the 1 2 | i error E i = γS i = γ i just introduces a common phase γ; any vector ψ is | i | i | i | i ∈ Q0 mapped to γ ψ and hence no recovery is needed. | i

64 In case (ii) the operator E also maps to itself, but no longer identically. Q0

Therefore, at least one of the two errors E1, E2 is not correctable. Indeed, in this case we can decompose E as the product of an element S S in the stabilizer and logical ∈ 0 a b operators, i.e., E imSX Z , where m = 0,..., 3 determines the overall phase. While ≡ S S acts trivially on the code, the logical operator specified by the binary-vectors a, ∈ 0 b is non-trivial, wgt(a) + wgt(b) = 0. Using the explicit basis (2.8), it is easy to check 6 that the error-correction condition (2.4) is not satisfied for the operators E1, E2.

Finally, in case (iii) the spaces E( ) and are mutually orthogonal. Indeed, Q0 Q0 since E is outside of the code normalizer N0, there is an element of the stabilizer group

S S that does not commute with E. Therefore, for any two states in the code, ∈ 0 ϕ , ψ , we can write | i | i ∈ Q0

ϕ E ψ = ϕ ES ψ = ϕ SE ψ = ϕ E ψ , (6.1) h | | i h | | i − h | | i − h | | i which gives ϕ E ψ = 0, and the spaces and E( ) [also, E ( ) and E ( )] are h | | i Q0 Q0 1 Q0 2 Q0 mutually orthogonal.

Now, consider the same three cases for a USt code (3.2) derived from . In Q0 case (i) the code is mapped to itself, E( ) = . The operator E acts trivially on the Q Q code (and the errors E1, E2 are mutually degenerate) if E either commutes (6.2) or anti-commutes (6.3) with the entire set of translations generating the code:

(Etj = tjE, j = 1,...,K) (6.2)

or (Et = t E, j = 1,...,K) . (6.3) j − j

If neither of these conditions is satisfied, the error-correction condition (2.4) is violated.

This is easily checked using the basis j, i t i . | i≡ j | i Similarly, in case (ii), the code is mapped to itself, E( ) = , but the error- Q Q correction condition (2.4) cannot be satisfied.

65 Finally, in case (iii), the space E( ) is either orthogonal to , or the error Q Q correction condition is not satisfied. The latter is true if E is proportional to an element in one of the cosets t†t ′ S , where j = j , 1 j, j K. Then the inner product j j 0 6 ′ ≤ ′ ≤ j, i E j , i = 0, i = 1,...,k, which contradicts the error-correction condition (2.4). h | | ′ i 6 In the other case, namely, when E is linearly independent of any operator of the form t†t ′ S, j, j = 1,...,K, S S , E must be a member of a different coset t S of the j j ′ ∈ 0 α 0 stabilizer S of the code in P . This implies orthogonality: 0 Q0 n

m j, i E j′, i′ i t† Et ′ i′ = i i t†t ′ t i′ = 0, h | ≡ h | j j h | j j α

where m = 0,..., 3 accounts for a possible phase factor.

Overall, as long as the error correction condition (2.4) is valid for a USt code

and the Pauli operators E , E , the spaces E ( ) and E ( ) either coincide, or Q 1 2 1 Q 2 Q are orthogonal. Since CWS codes can be regarded as USt codes originating from a one-dimensional stabilizer code , , the same is also true for any CWS code. Q0

66 Publications and Presentations

1. Y. Li, I. Dumer, and L. Pryadko, Clustered error correction of codeword-stabilized

quantum codes, Phys. Rev. Lett., vol. 104, 190501, pp. 1-4, 2010.

2. Y. Li, I. Dumer, M. Grassl, and L. Pryadko, Structured error recovery for codeword-

stabilized quantum codes, Phys. Rev. A, vol. 81, 052337, pp. 1-12, 2010.

3. Y. Li, I. Dumer, M. Grassl, and L. Pryadko, Clustered error correction for codeword-

stabilized quantum Codes, 2010 IEEE International Symposium on Information

Theory (ISIT 2010), Austin, Texas, USA, June 13 - 18, 2010.

4. Y. Li, I. Dumer, M. Grassl, and L. Pryadko, Error correction of codeword-stabilized

quantum codes, 2010 IEEE Information Theory and Applications Workshop (ITA

2010), San Diego, California, USA, Jan. 31 - Feb. 5, 2010.

67 Bibliography

[1] P. W. Shor, Algorithms for quantum computation: discrete logarithms and factor- ing, in Proc. 35th IEEE Found. Comp. Sci., pp. 124–134, 1994.

[2] M. A. Nielsen and I. L. Chuang, Quantum Computation and Quantum Infomation, Cambridge Univ. Press, Cambridge, MA, 2000.

[3] P. W. Shor, Phys. Rev. A 52, R2493 (1995).

[4] E. Knill and R. Laflamme, Phys. Rev. A 55, 900 (1997).

[5] C. H. Bennett, D. P. DiVincenzo, J. A. Smolin, and W. K. Wootters, Phys. Rev. A 54, 3824 (1996).

[6] E. Knill, R. Laflamme, and W. H. Zurek, Science 279, 342 (1998).

[7] B. Rahn, A. C. Doherty, and H. Mabuchi, Phys. Rev. A 66, 032304 (2002).

[8] A. M. Steane, Phys. Rev. A 68, 042322 (2003).

[9] A. G. Fowler, C. D. Hill, and L. C. L. Hollenberg, Phys. Rev. A 69, 042314 (2004).

[10] A. G. Fowler, S. J. Devitt, and L. C. L. Hollenberg, Quant. Info. Comput. 4, 237 (2004), quant-ph/0402196.

[11] A. G. Fowler, Towards Large-Scale Quantum Computation, arXiv:quant- ph/0506126 (2005).

[12] E. Knill, Nature 434, 39 (2005).

[13] E. Knill, Phys. Rev. A 71, 042322 (2005).

[14] R. Raussendorf and J. Harrington, Phys. Rev. Lett. 98, 190504 (2007).

[15] A. M. Stephens and Z. W. E. Evans, Phys. Rev. A 80, 022313 (2009).

[16] D. Gottesman, Stabilizer Codes and Quantum Error Correction, PhD thesis, Cal- tech, 1997.

[17] A. R. Calderbank, E. M. Rains, P. M. Shor, and N. J. A. Sloane, IEEE Trans. Inf. Th. 44, 1369 (1998).

[18] J. A. Smolin, G. Smith, and S. Wehner, Phys. Rev. Lett. 99, 130505 (2007).

68 [19] X. Chen, B. Zeng, and I. L. Chuang, Phys. Rev. A 78, 062315 (2008).

[20] A. Cross, G. Smith, J. Smolin, and B. Zeng, IEEE Trans. Inf. Th. 55, 433 (2009).

[21] I. Chuang, A. Cross, G. Smith, J. Smolin, and B. Zeng, J. Math. Phys. 50, 042109 (2009).

[22] M. Hein et al., Entanglement in graph states and its applications, in Quant. Comp., Algorithms. and Chaos: Proc. Int. School Physics “Enrico Fermi”, vol. 162, pp. 115–218, IOS Press, Amsterdam, 2005.

[23] M. Grassl and M. R¨otteler, Quantum Goethals-Preparata codes, in Proc. 2008 IEEE Int. Symp. Inf. Th. (ISIT 2008), pp. 300–304, Toronto, Canada, 2008.

[24] M. Grassl and M. R¨otteler, Non-additive quantum codes from Goethals and Preparata codes, in Proc. IEEE Inf. Th. Workshop 2008 (ITW 2008), pp. 396–400, Porto, Portugal, 2008.

[25] S. Yu, Q. Chen, C. H. Lai, and C. H. Oh, Phys. Rev. Lett. 101, 090501 (2008).

[26] M. Grassl, P. Shor, G. Smith, J. Smolin, and B. Zeng, Phys. Rev. A 79, 050306(R) (2009).

[27] F. J. MacWilliams and N. J. A. Sloane, The Theory of Error-Correcting Codes, North-Holland, Amsterdam, 1981.

[28] M. Grassl and T. Beth, A note on non-additive quantum codes, unpublished, arXiv:quant-ph/9703016 (1997).

[29] Y. Li, I. Dumer, and L. Pryadko, Clustered error correction of codeword-stabilized quantum codes, Phys. Rev. Lett., vol. 104, 190501, pp. 1-4, 2010.

[30] Y. Li, I. Dumer, M. Grassl, and L. Pryadko, Structured error recovery for codeword- stabilized quantum codes, Phys. Rev. A, vol. 81, 052337, pp. 1-12, 2010.

[31] A. Ashikhmin and A. R. Calderbank, Proc. IEEE Int. Symp. Inf. Th., 1952 (2005).

[32] V. Aggarwal and A. R. Calderbank, IEEE Trans. Inf. Th. 54, 1700 (2008).

[33] M. B. Elliott, B. Eastin, and C. M. Caves, Graphical description of Pauli measure- ments on stabilizer states, unpublished, arXiv:0806.2651v2 (2008).

[34] A. Barenco, C. H. Bennett, R. Cleve, D. P. DiVincenzo, N. Margolus, P. Shor, T. Sleator, J. A. Smolin, H. Weinfurter, Phys. Rev. A 52, 3457 (1995).

[35] Note that errors may act trivially on the code, i.e., they have no effect and cannot be detected. Nonetheless, we follow the majority of the literature and use the term “detectable errors.”

[36] M. M. Wilde, Phys. Rev. A 79, 062322 (2009).

[37] Note that the representatives of different error classes forming a group are not necessarily the minimum-weight representatives.

[38] R. Laflamme, C. Miquel, J. P. Paz, and W. H. Zurek, Phys. Rev. Lett. 77, 198 (1996).

69 [39] R. Raussendorf, D. E. Browne, and H. J. Briegel, Phys. Rev. A 68, 022312 (2003).

[40] M. Grassl, A. Klappenecker, and M. R¨otteler, Graphs, Quadratic Forms, and Quantum Codes, in Proc. 2002 IEEE Int. Symp. Inf. Th. (ISIT 2002), p. 45, Lausanne, Switzerland, 2002, preprint quant-ph/0703112.

[41] D. Schlingemann, Quantum Information and Computation 2, 307 (2002), preprint quant-ph/0111080.

[42] M. Van den Nest, J. Dehaene, and B. De Moor, Phys. Rev. A 69, 022316 (2004).

[43] R. E. Blahut, Algebraic Codes for Data Transmission, Cambridge University Press, July, 2002

70