Suppose we restrict attention to the amplitude damping channel. In this chan- nel, each qubit behaves independently according to one of the following matrices:
µ 1 0 0 √1−²2 ¶ or µ 0 ² 0 0 ¶ . (8.31)
It is difficult to create efficient codes that will deal with the exact evolution produced by this channel. However, when ² is fairly small, it is sufficient to merely satisfy equation (2.10) approximately [20]. If we wish to correct the equivalent of one error, corrections of O(²3) will not matter, since that would be equivalent to distinguishing one error from two errors. Let us expand
µ 1 0 0 √1−²2 ¶ =I−1 4² 2(I−σz) +O(²4). (8.32)
M1 σx σx σx σx M2 σz σz I I
M3 I I σz σz
X σx σx I I
Z σz I σz I
Table 8.4: A four-qubit code for the amplitude damping channel.
All of the higher order corrections to this equation will be powers of I−σz. Therefore, if we let A=σx(I−σz) = 2 ² µ 0 ² 0 0 ¶ , (8.33) and B=I−σz, (8.34)
we need to consider all terms of the form
hψi|E†F|ψji, (8.35)
whereE andF are products ofAandB. We get one factor of²for eachAand one factor of ²2 for each B. We only need to consider those terms that have total order less than ²d to have an effectively distance dcode. This corrects t errors whered= 2t+ 1.
One possible way to achieve this is to have a CSS code for which the σz generators cancorrectt σxerrors and theσx generators candetectt σz errors. For instance, the code given in table 8.6 will work if we first mapσz→σxand σy →σz. For such a code, we are correctingI andσz rather thanB. SinceB is in the linear span ofσzand the identity, it is handled by these codes as well. We can expand the range of possible codes by taking the actual linear combi- nation ofIandσzthat appears inAandBinto account. For instance, consider the code from table 8.4 [20]. This code can correct one amplitude damping error (i.e., it satisfies (2.10) toO(²3)). We can instantly see that (2.10) is satisfied for E†F =Ai (the subscript indicates the affected qubit) or E†F =A†
iAj, where (i, j)6= (1,2),(3,4). When (i, j) = (1,2) (or (3,4)), something interesting and unusual happens:
hψi|A†1A2|ψji = hψi|(I−σz1)σx1σx2(I−σz2)|ψji (8.36) = hψi|σx1σx2(I+σz1) (I−σz2)|ψji. (8.37) Now,σz1σz2|ψji=|ψji, so
hψi|σx1σx2(I+σz1) (I−σz2)|ψji = hψi|σx1σx2(I+σz1) (I−σz1)|ψji (8.38)
= 0, (8.39)
since (I+σz1) (I−σz1) = 0. We also need to consider the termsE†F =B and E†F =A†
iAi =I−σzi =B. In this case, we can again separateB into I and σz, and the latter is handled by the generatorM1.
By applying similar principles, we can see that Shor’s nine-qubit code (table 3.1) can be used to correct two amplitude damping errors. We need to consider products of one through four A’s and products of one or two B’s, as well as the product of a B with one or two A’s. Shor’s code breaks down into three blocks of three. If for any block of three, we have one or twoA’s acting on that block,E†F will anticommute with one of theσz generators for that block, and hψi|E†F|ψji= 0. This takes care of all possible operators E†F involving one, two, or four A’s. We still need to consider A†1A2A3 (and similar terms) and products of one or twoB’s. The products of B’s we again expand into I and σz, producing products of zero, one, and two σz’s. Operators with one σz or with twoσz’s in different blocks of three will anticommute with one of the σx operators. Operators such asσz1σz2 that act on two qubits in the same block of three are in the stabilizer and are thus equivalent to the identity. Finally, operators such as A†1A2A3 are dealt with similarly to A†1A2 for the four qubit code above:
hψi|A†1A2A3|ψji = hψi|(I−σz1)σx1σx2(I−σz2)σx3(I−σz3)|ψji (8.40) = hψi|σx1σx2σx3(I+σz1) (I−σz2) (I−σz3)|ψji(8.41) = hψi|σx1σx2σx3(I+σz1) (I−σz1) (I−σz3)|ψji(8.42)
= 0. (8.43)
Thus, the nine qubit code can correct two amplitude damping errors.
Fault tolerance for these codes must be handled carefully. Transversal oper- ations of any sort will not respect the form of the error operators, so we need to be sure the code will be able to correct the new error operators. For instance, the CNOT applied toI⊗Aproduces (I⊗σx) (I⊗I−σz⊗σz). This cannot be written as the tensor product ofA’s andB’s. However,I⊗Ai is still distin- guishable from the images ofI⊗Aj (since (I⊗I+σz⊗σz) (I⊗I−σz⊗σz) = 0) andAj⊗I. Therefore, transversal CNOT is a valid fault-tolerant operation for the four-qubit code as long as we correct errors taking its effects into account.