This book is geared for the reader who has an undergraduate education in a technical field and who has a solid background in linear algebra, including vector spaces and inner products. Prior familiarity with topics such as eigendecomposition and more advanced mathematical topics is not required. The book reviews all of the necessary additional material. There are some places in the book where group theory is referred to, but these sections of the book are self-contained so that the reader can skip them if needed. It is a very accessible introduction to a complex subject that is fairly detailed and complete. Exercises are integrated into the body of the text. Each exercise is designed to illustrate a particular concept, fill in the details of a calculation or proof, or to show how concepts in the book can be generalized or extended. The following is a brief overview of the book:
1. Introduction and Background - Presents some fundamental notions of computation theory and quantum physics that will form the basis of what follows.
2. Linear Algebra and the Dirac Notation - Familiarizes the reader with the algebraic notation used in quantum mechanics, reminds the reader of some basic facts about complex vector spaces, and introduces some notions that may not have been covered in an elementary linear algebra course.
3. Qubits and the Framework of quantum Mechanics - Introduces the framework of quantum mechanics as it pertains to the types of systems that are considered in the book. Here the author also introduces the notion of a quantum bit or "qubit", which is a fundamental concept in quantum computing.
4. A Quantum Model of Computation - The circuit model of classical computation can be generalized to a model of quantum circuits. In such a model you have logical qubits carried along "wires" and quantum gates that act on the qubits. For convenience, the discussion is limited to unitary quantum gates.
5. Superdense Coding and Quantum Teleportation - Looks at our first protocols for quantum information. Examines two communication protocols that can be implemented using the tools which can be implemented using the tools developed in previous chapters. These protocols are known as superdense coding and quantum teleportation. Both of these are inherently quantum - there are no classical protocols that behave in the same way as these.
6. Introductory Quantum Algorithms - Describes some of the early quantum algorithms that are simple and illustrate the main ingredients behind the more useful and powerful quantum algorithms described in subsequent chapters. Since quantum algorithms share some features with classical probabilistic algorithms, the chapter starts with a comparison of the two algorithmic paradigms.
7. Algorithms with Superpolynomial Speed-Up - Examines one of two main classes of algorithms: quantum algorithms that solve problems with a complexity that is superpolynomially less than the complexity of the best-known classical algorithm for the same problem. That is, the complexity of the best-known classical algorithm cannot be bounded above by any poynomial in the complexity of the quantum algorithm. The chapter starts off by studying the problem of quantum phase estimation, which leads naturally to the Quantum Fourier Transform (QFT).
8. Algorithms Based on Amplitude Amplification - Discusses a broadly applicable quantum algorithm - quantum search - that provides a polynomial speed-up over the best-known classical algorithms for a wide class of important problems.
9. Quantum Computational Complexity Theory and Lower Bounds - Quantum computers seem to be more powerful than classical computers for certain problems. However, there are limits on the power of quantum computers. Since a classical computer can simulate a quantum one, a quantum computer can only compute the same set of functions that a classical computer can. This chapter examines this and some related issues.
10. Quantum Error Correction - Quantum computers are more susceptible to errors than classical digital computers because quantum mechanical systems are more delicate and more difficult to control. If large-scale quantum computers are to be possible, a theory of quantum error correction is needed. This is the issue discussed in this chapter.
Overall, I found this book well suited to self-study, particularly for someone with an engineering background. Highly recommended.