CSS Codes
The general stabilizer formalism is flexible but can be unwieldy. CSS codes, named for Calderbank, Shor, and Steane, are a structured subclass that builds a quantum code out of two classical linear codes. They separate -errors and -errors cleanly, inherit decades of classical coding theory, and include many of the most important quantum codes.
Recap: classical linear codes
A classical binary linear code is a -dimensional subspace of , specified by an parity-check matrix : a vector is a codeword iff . The dual code is the set of vectors orthogonal to every codeword of . Its minimum distance — the smallest weight of a nonzero codeword — sets how many bit errors it corrects.
The CSS construction
Pick two classical codes and with parity-check matrices and , satisfying the CSS orthogonality condition
Then define a stabilizer code whose generators come in two flavors:
- For each row of , an -type stabilizer .
- For each row of , a -type stabilizer .
Because every generator is purely -type or purely -type, two same-type generators automatically commute. An -type and a -type generator commute iff the supporting rows of and overlap in an even number of positions — which is exactly the condition . So the orthogonality condition is precisely what makes the stabilizer group abelian.
Code parameters
If has rank and has rank , the code uses independent generators on qubits, encoding
logical qubits. The distance is governed by the classical codes: -errors are detected by the -stabilizers and corrected up to the distance properties of , and vice versa for -errors.
Why CSS codes matter
CSS codes are the foundation of fault-tolerant quantum computing for several reasons:
- Decoding splits in two. - and -syndromes are decoded independently with classical decoders, halving the problem.
- Transversal gates. Many CSS codes admit transversal logical Clifford gates (e.g. transversal CNOT between two code blocks), a key fault-tolerance property.
- They scale. The surface code and other topological codes are CSS codes; their and are sparse, enabling efficient decoders and a high error threshold.
Try it
Verify the CSS orthogonality condition for the Steane code, which sets where is the parity-check matrix of the classical Hamming code. Compute and confirm it is the zero matrix — proving the stabilizer group is abelian.
Sign in on the full site to ask questions and join the discussion.