the number of cosets is given by the ratio |C1|/|C2|. See also http://en.wikipedia.org/wiki/Coset, http://en.wikipedia.org/wiki/Lagrange%27s_theorem_%28group_theory%29, and Exercise (24.4), which studies the (7, 4) Hamming code as a group under the bit-wise addition operation. 3 Indeed, taking into account that 0 E C2 (C2 is a subgroup with the identity element under +) and assuming x - x ' E C2, we have {x+0,x+x-x),...}={x,x',...} 24.3 Calderbank-Shor-Steine (CSS) codes C2) there is no y, y' E C2 such that x + y = x' and, therefore, lx + C2) must be orthogonal to |x' + C2). Based on GT, the number of distinct cosets is |C1|/|C2|, hence the quantum space spanned by the states |x + C2), as generated from the codewords x E C1, has a dimension = This quantum space corresponds to a new class of quantum code, noted CSS(C1, C2), which is to be pronounced, "CSS code of C1 over C2." Next, I shall describe how the CSS(C1, C2) code can correct up to t bit-flip (X) and phase-flip (Z) errors. Just as in the classical ECC case, the signature of errors, whether of the X- or Z-type, is an n-vector with 1 S indicating the position where any error occurred. Define ex and ey as the corresponding vectors. If x is an n-bit codeword and /x) the corresponding quantum state, the applications of the combined error pattern ex, ey shall transform the state /x) into the errored state /x*) according to: (24.37) where x ey is the dot product of x and ey. For instance, /x) = |10011), ex = (0, 1, 0, 1, 0) (X errors on the second and fourth qubits) and ey = (1, 0, 0, 1, 1) (Z errors on the first and last two qubits) yield X . = 1.1 + 0.0 + 0.0 + 1.1 + 1.1 = 3 and ex)=|1+0)/0+1)0+0)1+1)1+0) = |11001), and the errored state lx*) = (-1)3|11001) -|11001). When the error pattern ex, ey is applied to the CSS codeword |x + C2) defined in Eq. (24.36), the resulting errored state is (24.38) The next step consists of the introduction of the parity-check matrix to detect the t errors of the X type (not to be confused here with the Hadamard gate H). This i