Quantum Computing for Programmers
This introduction to quantum computing from a classical programmer's perspective is meant for students and practitioners alike. Over 25 fundamental algorithms are explained with full mathematical derivations and classical code for simulation, using an open-source code base developed from the ground up in Python and C++. After presenting the basics of quantum computing, the author focuses on algorithms and the infrastructure to simulate them efficiently, beginning with quantum teleportation, superdense coding, and Deutsch-Jozsa. Coverage of advanced algorithms includes the quantum supremacy experiment, quantum Fourier transform, phase estimation, Shor's algorithm, Grover's algorithm with derivatives, quantum random walks, and the Solovay–Kitaev algorithm for gate approximation. Quantum simulation is explored with the variational quantum eigensolver, quantum approximate optimization, and the Max-Cut and Subset-Sum algorithms. The book also discusses issues around programmer productivity, quantum noise, error correction, and challenges for quantum programming languages, compilers, and tools, with a final section on compiler techniques for transpilation.
- All concepts and algorithms are presented using code and basic undergraduate math, to facilitate learning
- Open-source code, primarily in Python, allows for experimentation, modification, and extension
- Key topics such as the quantum Fourier transform and Grover's algorithm are explained with multiple derivations, approaches, and implementations
Reviews & endorsements
'There is a great deal of interest in quantum computing today. What many would like is a book that explains quantum computing to people who already know how to program conventional computers. This book successfully fills that need.' David Patterson, 2017 ACM A.M. Turing Award Laureate
'There is a critical need for quantum software engineers in the emerging quantum computing industry. Robert Hundt is a classical software engineer who presents quantum computing as simply as possible to others with a similar background. This book could be the perfect vehicle for many interested in this emerging area.' Fred Chong, Seymour Goodman Professor, University of Chicago
'Quantum mechanics, the century old theory underlying modern physics and chemistry, has a reputation for being incomprehensible. Professional physicists have a standard approach to this conundrum: 'Shut up and calculate!'. This book provides an alternative much better suited to the programmers of the XXI century interested in quantum computing: 'Shut up and program!'.' Sergio Boixo, Google
'This book strikes just the right balance between theory and practice. Exploring quantum computing from the perspective of a classical programmer, using software and simulators to explain all concepts and algorithms, leads to an intuitive, accessible, yet deep learning experience. I highly recommend this book!' Kunle Olukotun, Cadence Design Professor, Stanford University
'This book takes a unique approach of introducing quantum computing with a combination of precise but manageable mathematics, open-source code, and detailed derivations of many core quantum algorithms, which makes it an ideal learning resource for the community of software programmers, including both students and professionals, to explore the fascinating land of quantum computing.' Jason Cong, Volgenau Chair for Engineering Excellence, UCLA
Product details
No date availableAdobe eBook Reader
9781009103206
0 pages
Table of Contents
- Introduction
- 1. The mathematical minimum
- 2. Quantum computing fundamentals
- 3. Simple algorithms
- 4. Scalable, fast simulation
- 5. Beyond classical
- 6. Complex algorithms
- 7. Quantum error correction
- 8. Quantum languages, compilers, and tools
- Appendix: Sparse Implementation
- Bibliography
- Index.