In this text we present a technical overview of the emerging field of quantum computation along with new research results by the authors. What distinguishes our presentation from that of others is our focus on the relationship between quantum computation and computer science. Specifically, our emphasis is on the computational model of quantum computing rather than on the engineering issues associated with its physical implementation. We adopt this approach for the same reason that a book on computer programming doesn't cover the theory and physical realization of semiconductors. Another distinguishing feature of this text is our detailed discussion of the circuit complexity of quantum algorithms. To the extent possible we have presented the material in a form that is accessible to the computer scientist, but in many cases we retain the conventional physics notation so that the reader will also be able to consult the relevant quantum computing literature. Although we expect the reader to have a solid understanding of linear algebra, we do not assume a background in physics. This text is based on lectures given as short courses and invited presentations around the world, and it has been used as the primary text for a graduate course at George Mason University. In all these cases our challenge has been the same: how to present to a general audience a concise introduction to the algorithmic structure and applications of quantum computing on an extremely short period of time. The feedback from these courses and presentations has greatly aided in making our exposition of challenging concepts more accessible to a general audience.
Table of Contents: Introduction / The Algorithmic Structure of Quantum Computing / Advantages and Limitations of Quantum Computing / Amplitude Amplification / Case Study: Computational Geometry / The Quantum Fourier Transform / Case Study: The Hidden Subgroup / Circuit Complexity Analysis of Quantum Algorithms / Conclusions / Bibliography