Below are known errata in my Ph.D. thesis.

**Section 3.3**: The classical [7,4,3] Hamming code is not
self-dual. It contains its dual, which is the requirement to be able
to make a CSS code from it.

**Section 3.5**: All of the code constructions in this
section come with the caveat that the minimum distance of the
new code could be greater than expected through design or
coincidence.

**Chapter 4**: There is a subtle error in
the encoding scheme which was pointed out by Markus Grassl. This
error is also present in the original paper
"Efficient computations of encoding for
quantum error correction", although the example used in the paper
is different.

For the qubits which act as controls during the circuit, we
frequently require controlled-phase operations *before* the
operations controlled on that qubit. This is incorrect. More
precisely, the initial Hadamard operations should really be placed
just before the black control dots. This is because the Hadamards are
essentially part of the implementation of (I + M_{i}) for the
generator M_{i}. But the earlier controlled-phases are part
of M_{j} with j<i, and because the X in M_{i}
acting on qubit i has been replaced with the control, the resulting
operators no longer commute.

There is an additional error in this chapter which was not in the original paper: controlled-Y gates should instead be controlled-XZ. (The original paper used the real version of Y = XZ, whereas the thesis uses Y= iXZ.)

Putting these two corrections together, we can correct figure 4.2 (p. 35) as follows: the two controlled-Z's in the third and fourth columns should be absent. The two controlled-Y's with targets in the last row should be controlled-XZ's.

Also, the encoding method described in this chapter only works for codes for which all of the signs of the stabilizer generators (in standard form) are +1. Codes with other signs can be achieved via a tensor product Pauli operator.

**Section 5.5**: Q should be defined as Z times the current Q
(i.e., Z P^{\dagger} R P) so that X -> X, Z -> Y.

**Section 5.7**: The Toffoli gate construction is claimed to
work for any code for which a fault-tolerant implementation of
N(G) (and in particular the specific operation M_{3})
exists, such as for any stabilizer code. For a general stabilizer
code, the implementation of M_{3} is complicated, involving a
series of transversal operations and measurements. Applying
measurements conditioned on a cat state turns out to be fairly
complicated. See the appendix of
quant-ph/9908010
for details.

**Section 5.8**: U' should be multiplied by \sqrt{2} in
order to be unitary.

**Section 5.9**: Steane's method of fault-tolerant error
correction works fine for CSS codes, but needs a slight modification
for general stabilizer codes. A number of generators of the ancilla
state are of the form M_{1} \otimes M_{2}, where both
M_{1} and M_{2} are tensor products of Zs only. We
perform two sets of CNOTs from the data to the ancilla. The first set
will map these generators to M_{1} \otimes (M_{1}
\otimes M_{2}). Then the Hadamard transform on the data
converts the first M_{1} to Xs, and the second set of CNOTs
(and subsequent Hadamard) maps this state to

M_{1} (R M_{2} R^{\dagger}) \otimes
(M_{1} \otimes (R M_{1} R^{\dagger})
M_{2}).

The first factor is still an element of the stabilizer, so the ancilla is disentangled from the code block as required. However, we cannot simply measure each ancilla qubit to determine the errors (the syndrome being encoded now in the eigenvalues of the generators of the above form). Instead, we must perform some decoding step first. This does not diminish much the advantages of Steane error correction --- again, the extra work is on the ancilla qubits, and we only need to do a handful of interactions on the data qubits.

**Section 7.1**: The proof of the Gilbert-Varshamov bound is not
quite correct. Completing it would require a proof that a solution
exists for the relevant set of equations, which will probably
introduce additional constraints on the matrix C_{ab} (thanks
to Eric Rains for pointing this out). See ref. [22] of the thesis for
a complete proof that stabilizer codes exist satisfying the
Gilbert-Varshamov bound for large parameters. (The proof can be
adapted to apply for finite parameters as well, with a small
correction to the bound.)

The proof of the Knill-Laflamme bound is incomplete. See, for instance, ref. [54] of the thesis for a complete version.

**Sections 7.5 and 7.6**: The proofs of the linear upper
bounds (1-2p for the erasure channel and 1-4p for
the depolarizing channel) depend on the assumption that there
is no superadditive improvement to channel capacity when a
second noiseless channel is used along with a zero-rate channel.
Ref. [17] of the thesis shows that channel capacity of a
finite rate channel plus a perfect channel is the sum of
their capacities, but this result is still open for a general
zero-rate channel.

**Section 8.3**: The sum in equation (8.19) should run from 0 to
n-1.

**Section 8.8**: The stabilizer for the [11, 1, 5] code in
figure 8.5 is wrong -- M_{10} should be

Y | Z | X | I | I | I | X | X | X | Y | Z |

Back to Daniel Gottesman's home page

July 16, 2004