If we look back at 1946, a computer was essentially a physics experiment, and the same is true of quantum computers today. Peter Shor showed that if a quantum computer could be built then it would be possible to compromise public key cryptography by factoring integers exponentially faster than the best known classical computer. His discovery led to an explosion of interest in the field. The potential of quantum computing is derived from coherent quantum superposition, or entanglement, which allows a large number of calculations to be performed simultaneously, and this coherence is lost as a quantum system interacts with its environment. In classical computing one can assemble computers that are much more reliable than any individual component by exploiting error correcting codes. In quantum computers this was originally thought to be precluded by the Heisenberg Uncertainty Principle, because redundancy cannot be obtained by duplicating quantum states.

However, this is not so and in 1995 I showed in a joint paper with Peter Shor that good quantum error correcting codes exist. The trick is to take quantum superposition + decoherence, to measure decoherence in a way that gives no information about the original superposition, and then to correct the measured decoherence. This is the stabilizer code framework for quantum computing, and I will describe some recent work demonstrating that this framework can support fault tolerant computation.