Book Description
Quantum computers are poised to kickstart a new computing revolution—and you can join in right away. If you’re in software engineering, computer graphics, data science, or just an intrigued computerphile, this book provides a handson programmer’s guide to understanding quantum computing. Rather than labor through math and theory, you’ll work directly with examples that demonstrate this technology’s unique capabilities.
Quantum computing specialists Eric Johnston, Nic Harrigan, and Mercedes GimenoSegovia show you how to build the skills, tools, and intuition required to write quantum programs at the center of applications. You’ll understand what quantum computers can do and learn how to identify the types of problems they can solve.
This book includes three multichapter sections:
 Programming for a QPU—Explore core concepts for programming quantum processing units, including how to describe and manipulate qubits and how to perform quantum teleportation.
 QPU Primitives—Learn algorithmic primitives and techniques, including amplitude amplification, the Quantum Fourier Transform, and phase estimation.
 QPU Applications—Investigate how QPU primitives are used to build existing applications, including quantum search techniques and Shor’s factoring algorithm.
Table of Contents
 Preface
 1. Introduction
 I. Programming for a QPU
 2. One Qubit

3. Multiple Qubits
 Circle Notation for MultiQubit Registers
 Drawing a MultiQubit Register
 SingleQubit Operations in MultiQubit Registers
 Visualizing Larger Numbers of Qubits
 QPU Instruction: CNOT
 Handson: Using Bell Pairs for Shared Randomness
 QPU Instructions: CPHASE and CZ
 QPU Instruction: CCNOT (Toffoli)
 QPU Instructions: SWAP and CSWAP
 Constructing Any Conditional Operation
 Handson: RemoteControlled Randomness
 Conclusion
 4. Quantum Teleportation
 II. QPU Primitives
 5. Quantum Arithmetic and Logic
 6. Amplitude Amplification
 7. QFT: Quantum Fourier Transform
 8. Quantum Phase Estimation
 III. QPU Applications
 9. Real Data
 10. Quantum Search
 11. Quantum Supersampling
 12. Shor’s Factoring Algorithm
 13. Quantum Machine Learning
 IV. Outlook

14. Staying on Top: A Guide to the Literature
 From Circle Notation to Complex Vectors
 Some Subtleties and Notes on Terminology
 Measurement Basis
 Gate Decompositions and Compilation
 Gate Teleportation
 QPU Hall of Fame
 The Race: Quantum Versus Conventional Computers
 A Note on OracleBased Algorithms
 Quantum Programming Languages
 The Promise of Quantum Simulation
 Error Correction and NISQ Devices
 Where Next?
 Index
Product Information
 Title: Programming Quantum Computers
 Author(s):
 Release date: July 2019
 Publisher(s): O'Reilly Media, Inc.
 ISBN: 9781492039686