Steane code
Steane code
Error Correction
Andrew Steane∗
Clarendon Laboratory, Parks Road, Oxford, OX1 3PU, England.
Abstract
∗
Electronic address: [email protected]
1
1 Introduction
One way of shedding light on the nature of quantum mechanics is to pose the
question “to what extent can quantum mechanical behaviour be modelled
in classical terms?” To make this slightly vague question more concrete,
it can be posed thus: “to what extent can quantum mechanical behaviour
be simulated by means of a universal computer operating according to the
laws of classical mechanics?” Such a ‘universal’ computer is universal in
the sense of a universal Turing machine: it can simulate the behaviour
of any other computer in the set of all possible computers (Turing 1936).
However, as long as the set of ‘possible’ computers includes only those
operating by classical laws of physics, then the non-local correlations which
arise in the real world cannot be simulated, as was discussed by Feynman
1982. To simulate them, the computer must be allowed to operate according
to the laws of quantum mechanics. Hence one introduces the concept of
the quantum, as opposed to classical, computer (see Deutsch 1985; Ekert
1995), and the question under consideration can be re-phrased: “to what
extent can a quantum computer perform calculations which are beyond
the computing abilities of a classical computer?” For the physicist, this
question addresses fundamental questions concerning the nature of our most
basic physical theory. However, the answer is also of considerable practical
interest because computing ability is an extremely useful kind of ability.
The theoretical analysis of quantum computers has by now passed some im-
portant milestones, among them the demonstration of how to construct a
2
universal quantum computer (Deutsch 1985), the discovery of simple univer-
sal quantum gates (Deutsch et al. 1995, Barenco 1995, DiVincenzo 1995),
and the presentation of algorithms for idealised quantum computers which
surpass the computing ability of known algorithms for classical computers,
and which appear to surpass even what is in principle possible classically
(Deutsch & Jozsa 1992, Bernstein 1993, Shor 1994, Simon 1994). It has
been obvious from the outset that quantum computation is different from
classical computation precisely because of the possibility of quantum inter-
ference and entanglement. However, this entanglement is itself sensitive to
a problem which is unavoidable in the quantum context, namely, decoher-
ence of the state of the computer (Zurek 1993, Landauer 1995). The useful
algorithms just mentioned were initialy proposed under the assumption of
the idealised case that this decoherence, or generally any process involving
loss of quantum information, is negligible. However, it can be argued that
the possibility of decoherence is itself just as fundamental a feature of quan-
tum mechanics as the interference and entanglement of which a quantum
computer takes advantage. Such decoherence must be considered, for ex-
ample, in any discussion of the “Schrödinger’s cat” paradox (Schrödinger
1935; for a text-book treatment see, for example, Peres 1993). The cat in
Schrödinger’s thought-experiment corresponds here to the quantum com-
puter itself. Hence, the idealisation in which decoherence is taken to be
negligible is not merely a limit on the practical application of the theory
of quantum computation, it is in fact an “idealisation too far”, since it in-
volves neglecting a basic aspect of quantum theory, as has been emphasized
by Landauer 1995.
3
ics more fully. This paper does not assume much familiarity with classical
error correction, however. At the risk of alienating experts, concepts from
classical information theory are introduced for the most part with sufficient
explanation to allow readers unfamiliar with this material to follow the ar-
gument. The readily available textbooks such as MacWilliams & Sloane
1977 and Hamming 1986 give further explanation.
4
2.1 Single parity check
5
three particles are sufficient and necessary to establish a ‘preferred’ basis for
inter-particle correlations. For larger n, Mermin 1990 derived a Bell-type
inequality which becomes more and more severe as n grows.
Is there a simple way of seeing that the state |n, φi is an n-particle interfer-
ence? Clearly, a ‘which path’ argument will suffice. If any set of less than
n particles is measured, the remaining unmeasured two-state system could
in principle be measured in the {|0i , |1i} basis, thus indicating which of
n n
the two ‘paths’ |000 · · · 0i or |111 · · · 1i the whole system followed, which
prevents any interference between those paths1 .
Measurements carried out in basis 2 will collapse the state onto one of the
8 product states |000 i, |001 i · · · |111 i. Examining equation (2), one finds
that the probability of obtaining an even number of 1’s is equal to cos2 φ/2.
In other words, the information on the value of φ is contained in the parity
check of the total state in basis 2. We are using the word ‘parity’ in the
sense of the parity check for binary communication channels.
1
If this description in terms of ‘following a path’ is felt to be too reliant on an as-
sumption of wavefunction collapse, it can always be stated more elaborately in terms of
entanglements with external measuring devices, and the same conclusion is obtained.
6
With this insight in terms of parity, a new way of explaining the n-particle
inteference arises. For, to learn the parity of a string of n bits, it is ob-
vious that one must know the value of all n bits. No subset of the bits
contains this information. It is important to note that when φ = 0, all the
4 possible product states of even parity appear, and when φ = π, all the 4
possible product states of odd parity appear. If this were not the case, then
sometimes a subset containing less than 3 bits would define the parity. For
example, if we know from the outset that the product state |111 i is not
present in the final superposition, then whenever measurements of the first
two bits both yield 1, we know immediately that the overall parity is even,
without measuring the third bit.
The parity check argument is true for any n (this was shown by Steane
1996a and will also be demonstrated below). The parity check is a two-
valued quantity, and thus can store a single bit of information. It may be
imagined as a single bit stored symetrically among all the n bits.
First, the two-state systems which have so far been referred to as ‘particles’
will hereafter be called qubits2 . The product states in either of bases 1
or 2 (e.g. |0010i or |01101 i) will be referred to as words, since each such
state is identified by a unique string of bits when written in the relevent
basis. A superposition of product states defines a set of words. A set of
words is called a code, following standard nomenclature in the theory of
2
The word ‘qubit’ for ‘quantum bit’ is now a standard term for a two-state system.
7
error correcting codes. When writing superposition (entangled) states, the
overall normalisation factor will often be omitted, since it is not important
to the main argument, and can always be reintroduced easily if necessary.
The theorems derived in Steane 1996a are as follows.
Theorem 3. When the quantum state of the system forms a linear code
C in basis 1, in a superposition with equal coefficients, then in basis 2 the
words appearing in the superposition are those of the dual code C ⊥ .
Theorems 1 and 2 are easy to prove, while theorem 3 requires further com-
ment. A linear code C is any set of n-bit words for which if the bitwise
exclusive-or (addition modulo 2) operation ⊕ is carried out between any
two words in the code, then the resulting word is also in the code. Such
codes can be expressed in terms of an (n × k) generator matrix G, whose
k rows are n-bit words. The code consists of all linear combinations (by
bitwise exclusive-or) of the rows of G. This produces 2k different words
in the code. It can be shown that any linear code is also fully defined by its
(n × (n − k)) parity check matrix H. The code consists of all words u for
which Hj · u has even parity, for all rows Hj of H, where the dot indicates
the bitwise and operation. When Hj · u has even parity, we say that “u
satisfies the parity check Hj ”. In other words, Hj singles out a subset of
the bits of u, and it is the parity of this subset which is “checked” when we
ascertain the parity of Hj · u.
If C is a linear code, then the dual code C ⊥ is defined to be the set of all
words v for which v · u has even parity for all u ∈ C. If C ⊥ is the dual
of C, then C is the dual of C ⊥ . The only property of dual codes which
will interest us for the moment is that the generator matrix of a code C is
the parity check matrix of the dual code C ⊥ . (This property is used in the
derivation of theorem 3, see Steane 1996a.)
8
particle (or multiple-qubit) interference. It is necessary first to extend
slightly the definition of the generator matrix. We associate with each
row Gj of the matrix a phase factor exp iφj , and when different rows are
combined, these factors multiply:
where |Gj | signifies the j’th row with phase factor set to 1. If a row is
combined with itself, the resulting phase factor is defined to be 1, so that
the zero word is produced: Gj ⊕ Gj = 000 · · · 0. One may regard the words
as vectors in a discrete n-dimensional vector space (Hamming space), and
the phase factors as scalars.
Proof. This is closely related to the proof of theorem 3. To find the effect
of the j’th row of G, first consider the state |G′ i generated by G′ in basis 1,
where G′ consists of all rows of G except the j ′ th, with all phase factors set
to 1. By theorem 3, for this state, all the parity checks of G′ are satisfied in
basis 2. Now complement, in basis 1, the qubits specified by the j’th row
of G. Call the resulting state |G′′ i. By repeated applications of theorem 2,
this has the effect that all words change sign in basis 2 which do not satisfy
the parity check |Gj |. Now form
1 + eiφj 1 − eiφj
(|G′ i + |G′′ i) + (|G′ i − |G′′ i) ≡ |G′ i + eiφj |G′′ i . (4)
2 2
The left hand side of this equivalence shows that the probability that the
j’th parity check is satisfied in basis 2 is proportional to cos2 φj /2, since if
|G′ i and |G′′ i are added (subtracted), all words which satisfy (respectively
fail to satisfy) the parity check |Gj | disappear in basis 2. The right hand side
of the equivalence is the state generated by G′ with the row Gj added to it,
since the selective bit-complementing operation which was carried out is in
fact the exclusive-or operation. By applying this argument successively
to all the rows of G, the theorem is proved.
9
Theorem 4 is more easily understood in terms of an example, which will
now be provided. Consider the generator matrix
0 0 0 1 1 1 1
Gs = eiφ1 eiφ2 eiφ3 0 1 1 0 0 1 1 .
(5)
1 0 1 0 1 0 1
This concludes the discussion of multiple particle interference per se. The
concepts introduced make a natural introduction to the following sections,
which will provide more information on these interferences, such as a method
for their generation, while discussing other issues.
10
3 Error Correction for Qubits
11
a bit is complemented, but in general the word will refer to any departure
of a qubit from the state it ought to be in.
Let us begin by considering the case that the qubits randomly dephase but
never entangle with the environment, and never flip in basis 1. This is the
simplest non-trivial case, and is practically interesting because it may be
possible to approximate it experimentally. In this simple situation, the only
errors are phase errors in basis 1.
The errors are modelled by rotating the j’th qubit using an operator
!
eiǫφj /2 0
−iǫφj /2 (7)
0 e
where the matrix has been written in basis 1. The angles φj are independent,
and ǫ is a parameter used to indicate the typical magnitude of the errors,
0 < ǫ ≤ 1. If the single qubit state a |0i + b |1i is subject to such errors, its
density matrix becomes
!
|a|2 αab∗
ρ = (8)
α∗ a∗ b |b|2
where α = eiǫφ . (9)
Since exp(iǫφ) = 1+O(ǫ), the error in the off-diagonal elements is of order ǫ.
12
encoding method shown in figure 1. This set is then ‘corrected’ from time
to time by the correction method shown in figure 2. Computing operations,
when required, can be carried out by a network equivalent to one which first
‘decodes’, then carries out the relevent operation, then encodes again. The
decoding operation is the inverse of the encoding one.
Therefore the only ‘legal’ states are |000 i and |111 i or linear combinations
of these.
The random phase errors in basis 1 cause departures from the subspace
spanned by |000 i and |111 i. As long as the errors are small, the component
which was |000 i is likely to remain in the region of Hilbert space spanned
by {|000 i , |001 i , |010 i , |100 i} while the component which was |111 i is
likely to remain in the region spanned by {|111 i , |110 i , |101 i , |011 i}. As
long as only such ‘single errors’ occur, they can be corrected.
The error corrector shown in figure 2 works as follows. First, two cnot
operations carry out parity checks. The checks required are those given by
the parity check matrix for the {000, 111} repetition code:
!
1 1 0
Hrep = (11)
1 0 1
After these checks, the ‘control’ qubit contains the state to be corrected,
and the other two ‘target’ qubits (hereafter called parity qubits) contain the
3
cnot in basis 1 is (|00i h00| + |01i h01| + |10i h11| + |11i h10|) where the first qubit
is the control, the second is the target. cnot in basis 2 (as here) is the operator having
the same form, but with 0 and 1 replaced by 0̄ and 1̄.
13
error syndrome. The two parity qubits containing the syndrome are now
measured. The syndrome indicates which qubit is to be complemented.
That is, if the measurements give 11 then the not operation is carried out
on the control qubit.4 Whatever the result of the measurements, the parity
qubits are reset to |00 i. After this, the three qubits are in the decoded
state. The final part of the error corrector reencodes the state.
It has been assumed throughout that the process of encoding and correcting
does not itself introduce more errors than it corrects.
4
not in basis 1 is the operator |0i h1| + |1i h0|. not in basis 2 (as here) is |0 i h 1 | +
|1 i h 0 |.
14
The discussion so far only demonstrates a modest correction ability. How-
ever, the concepts can be generalised, enabling the limitations of the method
to be derived. We turn to this in later sections. The main result so far is to
show that unitary evolution of a qubit can be preserved, while information
about error processes is nevertheless gathered and used to correct the qubit.
Next it will be shown that the general methods discussed in this paper are
not limited to the correction of unitary errors, but can enable the quantum
computer to recover from relaxation caused by erroneous coupling to its
environment.
The single error correction in basis 2 discussed in the previous section with
regard to unitary phase errors in basis 1 is also sufficient to correct a re-
stricted class of relaxation errors (ie errors caused by coupling to external
systems). The restricted class is relaxation which does not cause ampli-
tude errors in basis 1. One can model such relaxation either as a decay in
the off-diagonal density matrix elements of each qubit in basis 1, or as an
entanglement with the environment introduced by operators of the type
|0ij ⊗ |ψ1j i 1 0 0 0
0 1 0 0
|0ij ⊗ |ψ2j i
Wj = . (13)
q
|1ij ⊗ |ψ1j i
0 0 1 − ǫj 2ǫj − ǫ2j
q
|1ij ⊗ |ψ2j i 0 0 − 2ǫj − ǫ2j 1 − ǫj
Here, |ψ1j i and |ψ2j i are orthogonal states of the environment, and the
product states on the left of the operator matrix indicate the basis in which
the matrix is written. The (real) parameter ǫj , bounded by 0 < ǫj ≤
1, indicates the strength of the entanglement with the environment. The
entanglement can be imagined as an imperfect (ǫ < 1) or perfect (ǫ = 1)
measurement of the qubit in basis 1. Such entanglements, when perfect,
have the effect of making the “interference phase” between the two parts
|0i and |1i of qubit’s state unobservable, as a straightforward analysis will
show. No amplitude error is introduced in basis 1, which is the clue that
the ‘simplest possible’ error-correction procedure introduced in the previous
section will be sufficient to correct errors having this form.
15
The effect of the entanglement Wj on a single qubit is calculated by op-
erating Wj on the joint qubit–environment state (a |0i + b |1i) ⊗ |ψ1 i, and
then obtaining the reduced density matrix of the qubit by tracing over the
environment variables. The result is a density matrix as in equation (8),
with
α = 1 − ǫ. (14)
This is clearly a mixed state when ǫ > 0, and the error term is of O(ǫ).
When we examine the density matrix in basis 2, this error appears partly
as an amplitude error, and it can be corrected by the encoding and cor-
recting procedure described in the previous section (figures 1 and 2). To
calculate the effects, first the general single-qubit state (a |0i + b |1i) is en-
coded using three qubits, then each of the three undergoes entanglement
with the environment, described by three operators W0 , W1 , W2 defined by
equation 13. The overall state then involves 8 different environment states,
associated with 8 different 3-qubit states. The error correction procedure is
carried out next. In the calculation, it appears as a set of eight independent
corrections on each of the eight 3-qubit states. The final ‘corrected’ 3-qubit
density matrix is then taken to be the weighted sum of the eight 3-qubit
density matrices associated with different states of the environment. The
density matrix of the control qubit is extracted, yielding the form (8) with
1 1
α =1− (ǫ0 ǫ1 + ǫ0 ǫ2 + ǫ1 ǫ2 ) + ǫ0 ǫ1 ǫ2 (15)
2 2
This result shows that when only a single qubit decoheres (ie only one of the
entanglement terms ǫj is non-zero), the state is corrected exactly (α = 1),
and when all three undergo errors, the error term is of O(ǫ2 ) instead of
O(ǫ). The corresponding properties of classical single-error correction are
that single errors are corrected exactly, and error probabilities of order p
become of order p2 after correction.
The fact that the corrected density matrix is nearer to ‘pure state’ condi-
tions than the original density matrix (when ǫ = ǫj < 1), is an example of a
general phenomenon called ‘quantum privacy amplification’ in the context
of a quantum communication channel (Bennett et al. 1995; Deutsch et al
1996), and which will be referred to here as ‘purity amplification’. The
ability to implement purity amplification is an important part of the gen-
eral problem of error correction in quantum communication channels and
16
computers. This section has shown that the approach to error correction
adopted in this paper is capable of handling purity amplification. Indeed,
the ‘quantum privacy amplification’ protocol described by Deutsch et al.
1996 can be understood as an implementation of single-error detection in
basis 1 and basis 2 simultaneously, by means of a single parity check in each
basis. The fact that it is a detection rather than correction scheme explains
why non-useful pairs of bits have to be thrown away.
The [7, 3, 4] simplex code presented in section 2.2 has the properties re-
quired. Its dual code is the [7, 4, 3] Hamming code which has minimum
17
distance 3, and it is a subcode of the [7, 4, 3] punctured Reed-Muller code,
also of minimum distance 3. n = 7 is the smallest number of bits for which
a code can be found with these properties. The encoding and correcting
procedure is shown in figures 3 and 4, and explained as follows.
The encoding method is based on the generator matrix of the [7, 3, 4] simplex
code, given by equation (5) with φ1 , φ2, φ3 = 0. The simplex code thus
generated will be called |Ci. It is the state |Gs i shown in equation (6) with
all phase angles set to zero. The essential idea is that a qubit state |0i is
encoded as |Ci, while a qubit state |1i is encoded as |¬Ci, which is |Ci with
the not operation carried out on all the qubits, ie the coset |C ⊕ 1111111i.
It is easy to deduce that when the qubit Q to be encoded is in the state |0i,
the encoder shown in figure 3 places the 7 qubits in the state |Ci. To see
that |1i becomes encoded as |¬Ci, consider the parity check matrix of |Ci:
1 1 0 1 0 0 1
0 1 0 1 0 1 0
HC = (16)
1 0 0 1 1 0 0
1 1 1 0 0 0 0
Now, |¬Ci fails all those parity checks for which there is an odd number of
1’s in the relevent row of Hs , and passes the others. Hence, the operations
which generate |Ci when starting from |0000000i, will generate |¬Ci when
starting from |0010110i, since the complemented qubits ensure that the
final state will pass and fail the checks in HC in the way appropriate for
|¬Ci. This initial complementing of qubits is the job of the first two cnot
operations in the encoder. The encoder therefore encodes a general single
qubit state (a |0i + b |1i) as (a |Ci + b |¬Ci).
Now, |Ci and |¬Ci are subcodes (strictly, cosets) of the [7, 4, 3] punctured
Reed-Muller code C + whose parity check matrix is
0 1 1 1 1 0 0
HC+ 1 0 1 1 0 1 0
=
(17)
1 1 0 1 0 0 1
All legal encoded states satisfy this parity check matrix, and this is the basis
of the corrector shown in figure 4. The operation of the corrector is similar
to that of the corrector presented in the previous section (figure 2). Multiple
18
cnot operations are used to carry out parity checks, the parity qubits are
measured, and the state corrected by means of not operations on qubits
identified by the measured syndrome. Finally, the state is reencoded.
So far, error correction has been carried out in basis 1. However, the coding
was carefully selected in such a way that only words in the [7, 4, 3] Hamming
code C ⊥ should appear in basis 2. Therefore, error correction can also be
carried out in basis 2. The corrector is based on the parity check matrix
of the [7, 4, 3] Hamming code, which is equal to the generator matrix of its
dual, the matrix GC given in equation (5). Now, it so happens that the
[7, 4, 3] Hamming code is the same as the [7, 4, 3] punctured Reed-Muller
code (this is not always true for higher order codes), as can be seen by the
fact that GC and HC+ are equal (one can be converted to the other by
linearly combining rows). Therefore, the corrector in basis 2 is once again
given by figure 4, only now all the operations are carried out in basis 2.
The correction scheme described will tend to keep the encoded state confined
to the region of Hilbert space spanned by the two state vectors {|Ci , |¬Ci}.
This is a two-dimensional subspace within the 128-dimensional total Hilbert
space. The subspace is also spanned by the state vectors {|H, e i , |H, o i}
defined by the even and odd parity subcodes of the [7, 4, 3] Hamming code in
basis 2, since theorem 4 implies that |Ci + |¬Ci ≡ |H, e i and |Ci − |¬Ci ≡
|H, o i, up to a normalisation factor. If an arbitrary single-qubit state is
encoded as (a |Ci + b |¬Ci), and then any one (but only one) of the 7 qubits
is allowed to change state and entangle with the environment in an arbitrary
manner, the error corrector described in this section will return the 7 qubits
exactly to the error-free state (a |Ci + b |¬Ci). This will be proved below
as part of the more general theorem 6. If more than one qubit is allowed to
undergo errors, then error terms which would be of order ǫ in the density
matrix of an uncorrected qubit become of order ǫ2 or higher when encoding
and correction is employed.
19
dressed. The final ingredient is theorem 5 below. Before it is presented,
we remark that just as in classical information theory, it is necessary to
distinguish between the amount of information k and the number of bits
n used in a [n, k, d] code, it will be necessary here to distinguish between
the number K of independent quantum bits of information we wish to keep
free of errors, and the number n of qubits used to do this. Thus, in section
3.1 a single qubit was encoded, K = 1, by means of n = 3 encoding qubits,
and in section 3.3 a single qubit K = 1 was encoded by means of n = 7
encoding qubits.
20
the cosets are non-overlapping.
21
then correction is successful if at least x errors can be corrected in both basis
1 and basis 2.
This theorem shows that the correction methods described in this paper are
not limited to the correction of simple ‘qubit complementing’ errors, but can
handle any error process, as long as it only affects a subset of the n qubits
in the computer. To keep a clear distinction, the word flip is reserved in this
section to refer to error processes of the form either |0i ↔ |1i (‘a flip in basis
1’) or |0 i ↔ |1 i (‘a flip in basis 2’). Completely general erroneous changes
in the state of a qubit, including entanglement with the environment, will
be referred to as defection5 .
where the notation wt(j · l) means the Hamming weight6 of j · l, and the dot
5
Random unitary changes (rotations) of a qubit are caused by defects in the quantum
computer; to entangle randomly with the environment is to form a treacherous alliance
with an enemy of successful quantum computation.
6
The Hamming weight of a bit string x is the number of 1’s in x.
22
indicates the bitwise and operation carried out between j and l. The result
holds for a particular type of coset Cij , which will be identified shortly.
It is obvious that a code can be written as the sum of its cosets: |Cii =
j |Cij i. The content of (18) is the inverse result, that a coset |Cij i can
P
Proof of equation (18). If Cij is an x’th order coset of Ci, then the parity
check matrix for Cij consists of the parity check matrix of Ci, plus x extra
rows. We consider the case that each of these extra rows contains all zeroes
apart from a single 1. For example, for x = 3, n = 10, the 8 cosets might
be counted by the values of the fourth, sixth and tenth qubits in basis 1, in
which case the parity check matrix in basis 1 is
Hi
wt(j·001)
(−1) 0000000001
|Cij i ↔ (19)
(−1)wt(j·010) 0000010000
(−1)wt(j·100) 0001000000
where Hi is the parity check matrix of |Cii. The j’th coset passes or fails
these extra parity checks according as the bits of the binary value of j are
zero or one. This pass/fail property is indicated by the sign (power of −1)
in front of each row of the matrix.7 Thus, Ci0 is the set of words of Ci for
which the 4’th, 6’th and 10’th bits are zero, Ci5 is the set of words of Ci
for which the 4’th and 10’th bits are one, and the 6’th is zero, since decimal
5 is binary 101, and so on.
In general, the type of coset for which equation (18) holds is one consisting
of all words in |Cii for which a chosen set of x qubits has the value j in
basis 1.
Since the matrix in equation (19) is the parity check matrix of |Cij i in basis
1, it is the generator matrix in basis 2 of the same quantum state (theorem
7
This sign is an example of the phase factor introduced in section 2.2 to generalise
the use of such matrices in the quantum mechanical as opposed to classical context (cf
Theorem 4).
23
4). But, such a generator matrix will generate the code Ci plus 2x − 1
erroneous copies of Ci, where a given copy will have flips of just the bits
selected by those extra rows of the generator matrix which were used to
generate that copy. Hence, equation (18) is proved.
where no assumptions are made about the environment states |ei i—they
may or may not be orthogonal, and they may include arbitrary (complex)
coefficients (they are not normalised). A general defection of x qubits is
x −1
2X E
|ji |e0 i → j/ 1Sk |ejk i (21)
k=0
Now, suppose that in some state |Cii, a subset of the qubits defect. The
subset contains x qubits positioned anywhere among the n qubits of the total
P2x −1
system. A state |Cii (ie before defection) can be written |Cii = j=0 |Cij i
where the j’th coset consists of all words in |Cii for which the subset of x
bits has the value j in basis 1. A general defection among the x defecting
qubits is the process indicated by equation (21), with the n − x unchanged
qubits acting as spectators, and with j indicating the initial values of the
decohering qubits. Therefore, the effect of defection on |Cij i is
x −1
2X E
|Cij i |e0 i → Cij / 1Sk |ejk i . (22)
k=0
24
The proof: Using the encoding method of Theorem 5, a general state of a
computer before defection can be written
K −1
2X
|QCi = ci |Cii (23)
i=0
Now apply error correction in basis 1. As long as x < d1 /2, this has the
effect that E E E
Cij / 1Sk 1 m0 → |Cij i 1 mk (26)
where |1 mk i indicates a state of the measuring apparatus used for correction
(cf figure 5). Therefore the total state of the quantum computer, environ-
ment and measuring apparatus becomes
K −1
2X x −1 2x −1
2X E
|Cij i 1 mk |ejk i
X
ci (27)
i=0 j=0 k=0
K −1
2X x −1
2X x −1
2X
!
E
1
= ci |Cij i mk , ejk . (28)
i=0 j=0 k=0
Note that the error correction has corrected all 2x cosets |Cij i in parallel.
The correction is not yet complete because each coset is entangled with a
different state of the environment.
Using equation (18), the total state given by (28) can be written
K −1
2X x −1 2x −1
2X x −1
2X
!
E E
2 wt(j·l) 1
X
ci Ci/ Sl (−1) mk , ejk . (29)
i=0 j=0 l=0 k=0
25
Now apply error correction in basis 2. As long as x < d2 /2, this has the
effect that E E E
Ci/ 2Sl 2 m0 → |Cii 2 ml (30)
where |2 ml i indicates a state of the measuring apparatus using for correction
in basis 2. Therefore the total state of the quantum computer, environment
and both measuring apparati becomes
K −1
2X x −1 2x −1
2X x −1
2X
!
E E
2 wt(j·l) 1
X
ci |Cii ml (−1) mk , ejk (31)
i=0 j=0 l=0 k=0
K −1
x −1 2x −1 x −1
2X 2X 2X
!
E E
2 wt(j·l) 1
X
= ci |Cii ml (−1) mk , ejk (32)
i=0 j=0 l=0 k=0
E
2 1
= |QCi ⊗ m, m, e . (33)
26
In the limit of large n, it takes the form
!!
log2 (A(n, d)) d
≤ 1−H (1 − ζ) (34)
n 2n
This implies that the codes C +K = [n, k1 , d1] and C ⊥ = [n, k2 , d2 ] have sizes
k1 , k2 related by
k1 + k2 = n + K (38)
Since all codes satisfy the Hamming bound (34), both C +K and C ⊥ do so.
Substituting in equation (38), this implies
! !
K d1 d2
≤1−H −H (39)
n 2n 2n
where the factors (1 − ζ) have been dropped for clarity (this will not affect
the argument).
27
Now, provided the parameters [n, k1 , d1 ] satisfy the Gilbert-Varshamov (G-
V) bound (36), then it is certainly possible to find a code C +K having size k1
and minimum distance d1 . What is the condition that such a code will have
associated with it a K’th order subcode C whose dual C ⊥ has minimum
distance d2 ? I conjecture that it is sufficient that C ⊥ also satisfy the Gilbert-
Varshamov bound. I have not been able to prove this, but the conjecture
seems reasonable since it is known that there is an infinite series of self-
dual codes which satisfy (36). Therefore in the set {C +K ↔ C ↔ C ⊥ }
= {[n, n/2 + K, d1] ↔ [n, n/2, d2 ] ↔ [n, n/2, d2]}, both C and C ⊥ can
satisfy the G-V bound simultaneously. In passing from C to C +K in this
case, one does not expect the minimum distance to fall especially rapidly,
so it is reasonable to suppose that C +K can also be found satisfying the
G-V bound.
Nota bene since submitting this manuscript I have learnt that Calderbank
and Shor 1996 have proved the above conjecture for the case d1 = d2 , by
proving that the G-V bound is a sufficient condition for the existence of
a weakly self-dual code, ie one containing its dual. These authors have
reported an independent derivation of the most important result (theorems
5 and 6 combined) of the present work.
28
good introduction is given by Hamming 1986. For our present purposes, we
note simply that Shannon’s theorem gives K/n ∼ 1 − H(d/2n). Comparing
this with inequality (39), one sees that classically the Hamming bound gives
a good guide to the limits of what is possible for an average distance between
codewords, even though the minimum distance cannot not reach the upper
limit of the Hamming bound, and indeed more restrictive bounds are known
(see MacWilliams & Sloane 1977). This suggests that the Hamming bound
is a useful indicator in general, ie that codes which ‘approach’ it in an
average way do exist.
Returning to the quantum regime, let us consider for simplicity the case
d1 = d2 = d. This is the type of coding one would choose if the probabilities
of errors in bases 1 and 2 were equal. If they are not equal, one can always
choose d sufficiently large to allow correction in the most error-prone basis,
then it will also be more than sufficient for correction in the other basis.
For d1 = d2 = d, inequalities (39) and (40) give
! !
d 1 K d
H ≥ 1− ≥H , (41)
n 2 n 2n
At this point, a complete discussion would introduce the notion of the ca-
pacity of a noisy quantum channel. The capacity would be limited by error
rates, and one would investigate whether error-free transmission is possible
at rates close to capacity, as in Shannon’s theorem. However, the capacity
of a noisy quantum channel is not yet understood, and the present author
has not developed a satisfactory definition. The equivalent of Shannon’s
noiseless coding theorem has been developed for the quantum regime by
Schumacher 1995, and it is found that the number K of qubits is a useful
measure of “amount of information” in the quantum case, as one would
29
hope. To understand the effect of noise (ie errors) in the quantum regime,
I conjecture that it is useful to model errors in a way analagous to that em-
ployed in classical information theory. That is, we assume that decoherence,
relaxation and so on in a real quantum computer or information channel
can be modelled by a stochastic treatment, in which, between two defined
times, each qubit either defects (undergoes an arbitrary error), or follows
the error-free evolution governed by the known parts of the system Hamil-
tonian. Which of these two occurs for any given qubit during any given
time interval is a random decision, the defection occuring with probability
p. This model is somewhat akin to the ‘quantum jump’ or ‘quantum Monte
Carlo’ models of dissipative processes in quantum mechanics introduced by
several authors in different contexts (Carmichael 1991; Dalibard et al. 1992;
Dum et al. 1992; Gisin 1984; Mølmer et al. 1993 and references therein).
This similarity suggests that the model can provide a realistic description
of a large class of real error processes8 . In fact the assumption we make is
not that error processes can be fully modelled in this way, but merely that a
scheme which can correct this assumed type of error will be able to correct
satisfactorily the errors in a real physical computer.
With our stochastic model of errors, an argument using the law of large
numbers can be employed to show that the probability that uncorrectable
errors occur falls to zero when codes of long enough minimum distance are
employed, just as in classical information theory. Thus, in the stochastic
model, the probability that exactly x errors (defections) occur among n
qubits is given by the binomial distribution, if we assume that errors in
different qubits are independent. The probability that any number up to x
qubits defect is
x
(ni) pi (1 − p)n−i .
X
F (x) = (43)
i=0
30
√ q
the error function: F (x) ≃ erf((x−µ)/σ 2) where µ = np, σ = np(1 − p).
If an x-error correction scheme is implemented (using a code of distance
d = 2x + 1), then F (x) is the probability that the code can be corrected
successfully. When the correction is successful, the state of the quantum
computer is exactly what it should be (the assumptions of the stochastic
model permit this ‘unphysical’ conclusion).
In the case of the binomial distribution, the law of large numbers is expressed
by the fact that once the number of correctable errors x = ⌊(d − 1)/2⌋
becomes larger than the mean number of errors µ = np, the error function
F (x) becomes arbitrarily close to 1 as n is increased. To see√just how close,
2
we use the asymptotic expansion 1 − erf(z) ≃ (exp(−z )/2 π)(1 − 1/2z 2 +
· · ·), for z ≫ 1, which gives
31
not ruled out the possible existence of more powerful correction methods
which would allow this upper limit on p to be increased.
5 Concluding remarks
The error correction methods which have been presented involve many two-
qubit cnot operations each time correction is carried out, and the whole
process only works if these operations can be performed without introduc-
ing too many extra errors. The number of 1’s in the parity check matrix of
a [n, k, d] code is about kd, since each message bit must be associated with
at least d − 1 parity checks. Therefore, the error corrector of such a code
involves of the order of kd two-qubit operations. For the case d1 = d2 one
uses coding with k1 = k2 ≃ n/2, and correction is carried out in both bases.
Therefore the total number of operations for one complete correction is of
order nd ≃ 2n2 p. A logical choice would be to correct the whole computer
every time an elementary computing operation is performed. Therefore,
the introduction of error correction causes the total number of two-qubit
operations to be multiplied by 2n2 p. This is a modest extension of the re-
sources necessary to complete a computation, since n itself does not increase
faster than the number K of bits of quantum information employed. The
great gains in computing power associated with “quantum parallelism” are
retained in the corrected noisy computer.
32
It may come as a surprise that the condition for error-free computation
derived above is simply an upper bound p < H −1 (1/2) ≃ 0.11 on the
error probability, rather than a scaling law for n as a function of K and
p. However, this is in the nature of the approach we have adopted, since
when np ≫ 1, the number of errors that actually occur during any one
time step is almost certainly very close to the average number np, so the
whole battle is won or lost on the ability to correct this number of errors.
The corresponding limit in the classical regime is p < H −1 (1) = 1/2, above
which error-free communication is impossible and the channel capacity falls
to zero. Indeed, if the only errors that occur in the quantum case are phase
errors in one of the bases (say basis 1), then we can afford to use d1 = 1, and
the coding problem reduces to the classical one, so p can approach H −1 (1)
once again. The factor 1/2 rather than 1 appearing in the inverse entropy
function arose because it was assumed just before inequalities (41) that
arbitrary unknown errors will require correction in both basis 1 and basis
2. It is here that the difference between a qubit and a classical bit enters:
the extra degrees of freedom associated with the qubit mean that we do not
know, in general, in which basis to correct it, so we are forced to correct
it in two mutually rotated bases. By theorem 3, this means that both a
code and its dual must be capable of correcting the expected error rate, so
both k/n and 1 − k/n are limited by Shannon’s theorem. The classical and
quantum cases can be compared thus:
Classical Quantum
) )
k/n < 1 − H(p) k/n < 1 − H(p)
(n ≫ K)
k/n > 0 1 − k/n < 1 − H(p)
⇒ H(p) < 1 ⇒ H(p) < 1/2
It should be stressed that the left hand side of this comparison represents
a well-founded body of knowledge, while the right hand side involves some
assumptions which remain to be investigated further.
The whole argument has assumed that the process of error correction does
not itself introduce defection (ie decoherence etc). However this is an unreal-
istic assumption, since the error correction procedure is itself a special kind
of quantum computation. Clearly, the probability of error during one time
step must be reckoned to increase with the number of operations needed to
implement error correction. However, such errors can be corrected during
33
the next time step, provided that they affect sufficiently few qubits. The
analysis of this in detail is an important avenue for future work.
The obvious need now is for a fuller understanding of the capacity of a noisy
quantum channel. In particular, it would be useful to find out whether a
stochastic model for errors in a quantum channel is sufficient to enable the
error rate for many qubits to be estimated. Also, the effect of noise during
the error correction process needs to be investigated. On the experimental
side, an implementation of the simplest error correction schemes using 3 or
7 qubits would be a significant step forward.
34
References
[] Barenco, A. 1995 A universal two-bit gate for quantum computation.
Proc. R. Soc. Lond. A 449, 679-683.
[] Deutsch, D., Barenco A., & Ekert, A. 1995 Universality in quantum com-
putation. Proc. R. Soc. Lond. A 449, 669-677.
35
[] Deutsch, D., Ekert, A., Jozsa, R., Macchiavello, C., Popescu, S., Sanpera,
A. 1996 Quantum privacy amplification and the security of quantum cryp-
tography over noisy channels. Oxford University preprint. Submitted to
Phys. Rev. Lett.
[] Dum, R., Zoller, P., & Ritsch, H. 1992 Phys. Rev. A 45, 4879.
[] Gisin, N. 1984 Phys. Rev. Lett. 52, 1657; Helvetica Phys. Acta 62, 363
(1989).
[] Hughes, R. J., Alde, D. M., Dyer, P., Luther, G. C., Morgan, G. L. &
Schauer, M. 1995 Contemp. Phys. 36, 149-163.
36
[] MacWilliams, F. J. & Sloane, N. J. A. 1977 The Theory of Error-
Correcting Codes. Amsterdam: North Holland.
[] Palma, M. G., Suominen K-A. & Ekert, A. K. 1996 Proc. Roy. Soc. Lond.
A 452, 567-584.
[] Mermin, N. D. 1990 Extreme quantum entanglement in a superposition
of macroscopically distinct states. Phys. Rev. Lett. 65, 1838-1840.
[] Mølmer, K., Castin Y. & Dalibard, J. 1993 Monte Carlo wave-function
method in quantum optics. J. Opt. Soc. Am. B 10, 524-538.
[] Peres, A. 1993 Quantum Theory: Concepts and Methods. Dordrecht:
Kluwer Academic Press.
[] Phoenix, S. J. D. & Townsend, P. D. 1995 Quantum cryptography: how
to beat the code breakers using quantum mechanics. Contemp. Phys. 36,
165-195.
[] Schrödinger, E. 1935 Naturwiss. 23, 807. Translated in Quantum Theory
and Measurement (ed. J. A. Wheeler & W. H. Zurek). Princeton Univer-
sity Press 1983.
[] Schumacher, B. 1995 Quantum coding. Phys. Rev. A 51, 2738-2747.
[] Shimony, A. 1989 Conceptual foundations of quantum mechanics. In The
New Physics (ed. P. Davies) pp.373-395. Cambridge University Press.
[] Shor, P. W. 1994 Algorithms for quantum computation: Discrete loga-
rithms and factoring. In Proceedings of the 35’th Annual Symposium on
Foundations of Computer Science (ed. S. Goldwasser), pp. 124-134. Los
Alamitos: IEEE Computer Society Press.
[] Shor, P. W. 1995 Scheme for reducing decoherence in quantum computer
memory. Phys. Rev. A 52, R2493-R2496.
[] Simon, D. 1994 On the power of quantum computation. In Proceedings of
the 35’th Annual Symposium on Foundations of Computer Science (ed. S.
Goldwasser), pp. 116-123. Los Alamitos: IEEE Computer Society Press.
[] Steane, A. M. 1996 Error correcting codes in quantum theory. Submitted
to Phys. Rev. Lett.
37
[] Turing, A. M. 1936 Proc. Lond. Math. Soc. Ser 2 43, 544.
38
Figure 1: Encoding for simplest error correction scheme. Initially Q is the
qubit to be encoded, and the three ‘encoding’ qubits are in the state |000 i.
Symbols: l= state swapping; ×| = controlled not in basis 2.
Figure 3: Encoder for the simplest scheme enabling single error correction in
both bases. The multiple cnot symbols mean successive cnot operations
carried out between the single control qubit and each of the target qubits.
The initial state is |00Q0000i. The first two cnot operations prepare for
the generation of a superposition of the simplex code and its complement.
The rest generates the code from this preparatory state. The symbol R
means the rotation |0i → |0 i, |1i → |1 i.
Figure 4: Error corrector for the code generated by figure 3. Multiple cnot
operations perform parity checks. The lower three qubits are measured, and
the results used to determine which qubits undergo a not operation. The
scheme is first applied in basis 1, then in basis 2 (see text).
39
Q
R
R
Q
R
1
0.8
0.6
K/n
0.4
0.2
0
0 0.1 0.2 0.3 0.4 0.5
d/n