This book is an introduction to a new and rapidly developing topic: the theory of quantum computing. It begins with the basics of classical theory of computation: Turing machines, Boolean circuits, parallel algorithms, probabilistic computation, NP-complete problems, and the idea of complexity of an algorithm. The second part of the book provides an exposition of quantum computation theory. It starts with the introduction of general quantum formalism (pure states, density matrices, and superoperators), universal gate sets and approximation theorems. Then the authors study various quantum computation algorithms: Grover's algorithm, Shor's factoring algorithm, and the Abelian hidden subgroup problem. In concluding sections, several related topics are discussed (parallel quantum computation, a quantum analog of NP-completeness, and quantum error-correcting codes).
Rapid development of quantum computing started in 1994 with a stunning suggestion by Peter Shor to use quantum computation for factoring large numbers — an extremely difficult and time-consuming problem when using a conventional computer. Shor's result spawned a burst of activity in designing new algorithms and in attempting to actually build quantum computers. Currently, the progress is much more significant in the former: A sound theoretical basis of quantum computing is under development and many algorithms have been suggested.
In this concise text, the authors provide solid foundations to the theory — in particular, a careful analysis of the quantum circuit model — and cover selected topics in depth. Some of the results have not appeared elsewhere while others improve on existing works. Included are a complete proof of the Solovay-Kitaev theorem with accurate algorithm complexity bounds, approximation of unitary operators by circuits of doubly logarithmic depth. Among other interesting topics are toric codes and their relation to quantum computing.
Prerequisites are very modest and include linear algebra, elements of group theory and probability, and the notion of a formal or an intuitive algorithm. This text is suitable for a course in quantum computation for graduate students in mathematics, physics, or computer science. More than 100 problems (most of them with complete solutions) and an appendix summarizing the necessary results are a very useful addition to the book.