6 CSS structure
A CSS code is one whose stabilizer generators are each purely \(X\)-type or purely \(Z\)-type. The separation is what lets a homological argument apply: the \(X\) and \(Z\) sides become the two ends of a chain complex.
A Pauli group element whose operator part uses only \(I\) and \(X\), with trivial phase.
A Pauli group element whose operator part uses only \(I\) and \(Z\), with trivial phase. A CSS code is one whose stabilizer is generated by elements each of which is \(X\)-type (definition 47) or \(Z\)-type.
If every weight-one Pauli anticommutes with some stabilizer generator, and a weight-two nontrivial logical operator exists, then the code has distance exactly \(2\).
The anticommuting witnesses exclude weight-one elements from the centralizer, so by definition 31 no nontrivial logical operator has weight one; weight zero is the identity, which is a stabilizer. The exhibited weight-two logical then makes the minimum exactly two by definition 44. This single lemma discharges the distance obligation for the whole family of detection codes in chapter 10.
Let a CSS code have \(Z\)-checks and \(X\)-checks supported on the rows of two classical parity-check matrices. If both matrices have nonzero, pairwise distinct columns — both classical codes have distance at least \(3\) — and some nontrivial logical operator of weight \(3\) exists, then the code has distance exactly \(3\).
A weight-one Pauli at qubit \(i\) is \(Z\), detected by any \(X\)-row through \(i\), or carries an \(X\)-component, detected by any \(Z\)-row through \(i\); nonzero columns supply the rows. For a weight-two Pauli on qubits \(i \ne j\), the anticommutation with a check is the sum of the two single-qubit symplectic products it sees: if exactly one qubit carries an \(X\)-component a \(Z\)-row through it detects the pair, and if both (or neither, so both are \(Z\)) do, a \(Z\)-row (resp. \(X\)-row) containing exactly one of \(i, j\) — which exists because the columns are distinct — sees a single \(1\). So no Pauli of weight one or two lies in the centralizer, and the exhibited weight-three logical makes the minimum exactly three by definition 44.
As theorem 50, except that the checks need not separate every pair of qubits. Suppose both check matrices have nonzero columns; that whenever no \(Z\)-row separates qubits \(i \ne j\), the operator \(X_i X_j\) is a stabilizer; and that whenever no \(X\)-row separates them, \(Z_i Z_j\) is. Then a nontrivial logical operator of weight \(3\) makes the distance exactly \(3\).
Weight one is ruled out as in theorem 50. A weight-two Pauli on qubits \(i \ne j\) whose \(X\)-components sit on only one of them is detected by a \(Z\)-row through that qubit, and likewise for \(Z\)-components and \(X\)-rows. What is left is \(X_i X_j\), \(Z_i Z_j\) or \(Y_i Y_j\). Each is detected by a row separating \(i\) from \(j\) on the relevant side; if no such row exists, its operator part is that of the stabilizer \(X_i X_j\), \(Z_i Z_j\) or their product, so it is not a nontrivial logical either.