  Quantum states are very delicate, so it is likely some sort of quantum error
correction will be necessary to build reliable quantum computers. The theory of
quantum error-correcting codes has some close ties to and some striking
differences from the theory of classical error-correcting codes. Many quantum
codes can be described in terms of the stabilizer of the codewords. The
stabilizer is a finite Abelian group, and allows a straightforward
characterization of the error-correcting properties of the code. The stabilizer
formalism for quantum codes also illustrates the relationships to classical
coding theory, particularly classical codes over GF(4), the finite field with
four elements. To build a quantum computer which behaves correctly in the
presence of errors, we also need a theory of fault-tolerant quantum
computation, instructing us how to perform quantum gates on qubits which are
encoded in a quantum error-correcting code. The threshold theorem states that
it is possible to create a quantum computer to perform an arbitrary quantum
computation provided the error rate per physical gate or time step is below
some constant threshold value.
