Preface
Who this book is for
This book is written for computer science students studying quantum information, physicists moving into quantum computing, software engineers who want to program quantum computers (which you can do today, on real hardware, for free), and anyone who has heard that "quantum computing will change everything" and wants to know what that actually means — and what it doesn't.
What you need to know first
Required: linear algebra (vectors, matrices, eigenvalues, tensor products), complex numbers, basic probability, and enough Python to read and run a script.
Not required: quantum mechanics. This book teaches the quantum mechanics you need for computing, from scratch. You will not need wave equations — only state vectors and operators.
How the book is organized
Parts I and II build the foundations: qubits, the mathematics, measurement, entanglement, gates, circuits, and your first programs in Qiskit. Part III covers the canonical quantum algorithms — Deutsch-Jozsa, Grover, the quantum Fourier transform, Shor, phase estimation, and simulation. Part IV covers the NISQ-era algorithms designed for today's noisy hardware. Part V is quantum error correction, Part VI is the hardware itself, and Part VII places the technology in its industrial and societal context. Part VIII is a capstone portfolio: eight algorithms, implemented, run, and analyzed.
Five ideas that recur throughout
- Quantum computing is not magic. It is linear algebra in complex vector spaces, with specific physical implementations. The speedups come from superposition, entanglement, and interference — not from "trying all possibilities at once," which is a misleading simplification.
- Quantum advantage is problem-specific. Quantum computers are not faster at everything. For most everyday computing, classical machines are and will remain superior.
- The math is the physics is the computation. The linear algebra describes the physical reality and the computation simultaneously. There is no separation.
- Noise is the enemy. Real quantum computers are noisy. Nearly everything in the field — algorithm design, error correction, hardware engineering — is a response to that fact.
- We are at the beginning. Today's machines have hundreds to low thousands of noisy qubits. Useful advantage on practical problems likely needs millions of error-corrected ones. This book is explicit about what is real today versus what is promised for tomorrow.
A note on the code
Every code example uses Qiskit and current APIs (Qiskit 1.x/2.x conventions:
qiskit_aer, AerSimulator, qiskit_ibm_runtime, the V2 primitives). Where an
older API appears in the wild but has been removed from Qiskit, the book says so
rather than teaching code that no longer runs.