Linked e-resources
Details
Table of Contents
Intro
Contents
Preface to the Second Edition
Preface to the First Edition
Acknowledgements
Navigating this Book
Part I Foundations
CHAPTER 1 Superposition, Entanglement and Reversibility
1.1 Superposition and Entanglement
1.2 The Born Rule
1.3 Schrödinger's Equation
1.4 The Physics of Computation
CHAPTER 2 A Brief History of Quantum Computing
2.1 Early Developments and Algorithms
2.2 Shor and Grover
2.3 Defining a Quantum Computer
CHAPTER 3 Qubits, Operators and Measurement
Quantum Circuit Diagrams
3.1 Quantum Operators
Unary Operators
Binary Operators
Ternary Operators
3.2 Comparison with Classical Gates
3.3 Universality of Quantum Operators
3.4 Gottesman-Knill and Solovay-Kitaev
3.5 The Bloch Sphere
3.6 The Measurement Postulate
3.7 Computation-in-Place
CHAPTER 4 Complexity Theory
4.1 Problems vs. Algorithms
4.2 Time Complexity
4.3 Complexity Classes
4.4 Quantum Computing and the Church-Turing Thesis
Part II Hardware and Applications
CHAPTER 5 Building a Quantum Computer
5.1 Assessing a Quantum Computer
5.2 Neutral Atoms
5.3 NMR
5.4 NV Center-in-Diamond
5.5 Photonics
Semiconductor quantum transistor
Topological photonic chip
5.6 Spin Qubits
5.7 Superconducting Qubits
5.8 Topological Quantum Computation
5.9 Trapped Ion
5.10 Summary
CHAPTER 6 Development Libraries for Quantum Computer Programming
6.1 Quantum Computers and QC Simulators
6.2 Cirq
6.3 Qiskit
6.4 Forest
6.5 Quantum Development Kit
6.6 Dev Libraries Summary
Using the Libraries
Other Development Libraries
6.7 Additional Quantum Programs
Bell States
Gates with Parameters
CHAPTER 7 Teleportation, Superdense Coding and Bell's Inequality
7.1 Quantum Teleportation
7.2 Superdense Coding
7.3 Code for Quantum Teleportation and Superdense Communication
7.4 Bell Inequality Test
Summary
CHAPTER 8 The Canon: Code Walkthroughs
8.1 The Deutsch-Jozsa Algorithm
8.2 The Bernstein-Vazirani Algorithm
The Bernstein-Vazirani Algorithm
8.3 Simon's Problem
8.4 Quantum Fourier Transform
8.5 Shor's Algorithm
RSA Cryptography
The Period of a Function
Period of a Function as an Input to a Factorization Algorithm
Classical order finding
Quantum order finding
Quantum arithmetic operations in Cirq
Modular exponential arithmetic operation
Using the modular exponential operation in a circuit
Classical post-processing
Quantum order finder
The complete factoring algorithm
8.6 Grover's Search Algorithm
Grover's Algorithm in Qiskit
3-Qubit Grover's Algo
Summary
CHAPTER 9 Quantum Computing Methods
9.1 Variational Quantum Eigensolver
VQE with Noise
More Sophisticated Ansatzes
9.2 Quantum Chemistry
9.3 Quantum Approximate Optimization Algorithm (QAOA)
Example Implementation of QAOA
9.4 Machine Learning on Quantum Processors
Contents
Preface to the Second Edition
Preface to the First Edition
Acknowledgements
Navigating this Book
Part I Foundations
CHAPTER 1 Superposition, Entanglement and Reversibility
1.1 Superposition and Entanglement
1.2 The Born Rule
1.3 Schrödinger's Equation
1.4 The Physics of Computation
CHAPTER 2 A Brief History of Quantum Computing
2.1 Early Developments and Algorithms
2.2 Shor and Grover
2.3 Defining a Quantum Computer
CHAPTER 3 Qubits, Operators and Measurement
Quantum Circuit Diagrams
3.1 Quantum Operators
Unary Operators
Binary Operators
Ternary Operators
3.2 Comparison with Classical Gates
3.3 Universality of Quantum Operators
3.4 Gottesman-Knill and Solovay-Kitaev
3.5 The Bloch Sphere
3.6 The Measurement Postulate
3.7 Computation-in-Place
CHAPTER 4 Complexity Theory
4.1 Problems vs. Algorithms
4.2 Time Complexity
4.3 Complexity Classes
4.4 Quantum Computing and the Church-Turing Thesis
Part II Hardware and Applications
CHAPTER 5 Building a Quantum Computer
5.1 Assessing a Quantum Computer
5.2 Neutral Atoms
5.3 NMR
5.4 NV Center-in-Diamond
5.5 Photonics
Semiconductor quantum transistor
Topological photonic chip
5.6 Spin Qubits
5.7 Superconducting Qubits
5.8 Topological Quantum Computation
5.9 Trapped Ion
5.10 Summary
CHAPTER 6 Development Libraries for Quantum Computer Programming
6.1 Quantum Computers and QC Simulators
6.2 Cirq
6.3 Qiskit
6.4 Forest
6.5 Quantum Development Kit
6.6 Dev Libraries Summary
Using the Libraries
Other Development Libraries
6.7 Additional Quantum Programs
Bell States
Gates with Parameters
CHAPTER 7 Teleportation, Superdense Coding and Bell's Inequality
7.1 Quantum Teleportation
7.2 Superdense Coding
7.3 Code for Quantum Teleportation and Superdense Communication
7.4 Bell Inequality Test
Summary
CHAPTER 8 The Canon: Code Walkthroughs
8.1 The Deutsch-Jozsa Algorithm
8.2 The Bernstein-Vazirani Algorithm
The Bernstein-Vazirani Algorithm
8.3 Simon's Problem
8.4 Quantum Fourier Transform
8.5 Shor's Algorithm
RSA Cryptography
The Period of a Function
Period of a Function as an Input to a Factorization Algorithm
Classical order finding
Quantum order finding
Quantum arithmetic operations in Cirq
Modular exponential arithmetic operation
Using the modular exponential operation in a circuit
Classical post-processing
Quantum order finder
The complete factoring algorithm
8.6 Grover's Search Algorithm
Grover's Algorithm in Qiskit
3-Qubit Grover's Algo
Summary
CHAPTER 9 Quantum Computing Methods
9.1 Variational Quantum Eigensolver
VQE with Noise
More Sophisticated Ansatzes
9.2 Quantum Chemistry
9.3 Quantum Approximate Optimization Algorithm (QAOA)
Example Implementation of QAOA
9.4 Machine Learning on Quantum Processors