The principles of fault tolerance
In this chapter we will consider some of the practical difficulties in building a large-scale quantum computing device. This discussion relies heavily upon the prior chapters that introduced faulttolerant quantum computation. Assuming that fault tolerance is possible allows us to focus on the physical realization of these ideas with a few specific examples.
Before going into detail, we review the governing ideas behind any fault-tolerant architecture. These are the necessary components that we analyze in this chapter: good quantum memory, high-fidelity quantum operations, long-range quantum gates, and highly parallel operation, such that error correction in different sections of the device can be accomplished at the same time. While a wide variety of potential implementations may be possible, the goal of a fault-tolerant architecture is not only to be scalable, i.e., to be able to run an arbitrarily large computation with at most polynomial overhead [S95, S96e], but also to be as efficient as possible. Efficiency in this context means using the fewest physical resources (quantum bits, time, control operations) necessary to accomplish the desired computation [S03b].
From this perspective, the recipe for fault tolerance is well established. First, we need to identify what quantum operations are available for the various quantum bits at our disposal. Developing error models for these operations forms the bulk of this chapter. Important questions about operations include noise, implementation time, and bandwidth (how many such operations may be performed in parallel).