QBook101 Contents
Fundamentals of Quantum Computers with Programming
Chapter 1: Introduction
1.1 Introduction to Programming in Python Applied to Math
How to Run the Notebooks | Math with Python | More on Matrices with Python | Errors and Exceptions
1.2 Introduction to Quantum Mechanics
Dirac Notation (bra-ket notation) | Hilbert Spaces | Postulates of Quantum Mechanics and its Application to Qubits
Chapter 2: Classical and Quantum Systems with Real Numbers
2.1 Basics of Classical Systems
One Bit | Coin Flipping | Coin Flipping Game | Probabilistic States | Probabilistic Operators | Two Probabilistic BitsExercises | Problem Set | Correlation (advance) | Operators on Multiple Bits (advance)
2.2 Photons
2.3 Basics of Quantum Systems
Hadamard Operator | One Qubit | Quantum State | Visualization of a (Real-Valued) Qubit | Superposition and Measurement | Exercises
2.4 Quantum Operators on a (real-valued) Qubit
Operations on the Unit Circle | Rotations | Reflections | Quantum Tomography | Exercises
2.5 Entanglement and Protocols
Two Qubits | Phase Kickback | Entanglement and Superdense Coding | Quantum Teleportation | Multiple Control Constructions | Exercises
Chapter 3: Quantum Systems with Complex Numbers
3.1 Introduction
Complex Numbers | Mathematical Notation | Quantum States | Briefly Unitary Operators
3.2 Bloch Sphere
Global and Relative Phases | Unique Representation | Bloch Sphere
3.3 Complex-valued Quantum Operators
Single-Qubit Quantum Gates | Rotations on Bloch Sphere | Multi-Qubit Gates
Introduction to Quantum Algorithms
Chapter 4: Quantum Algorithms 1
4.1 Classical Gates
4.2 Conventional Quantum Algorithms in Qiskit I
Deutsch Algorithm | Deutsch-Jozsa Algorithm
4.3 Grover’s Search Algorithm in Qiskit
Inversion About the Mean | Grover’s Search: One Qubit Representation | Grover’s Search: Implementation
4.4 Solving Max-Cut problem using Grover’s Search in Cirq
Grover Algorithm Revisited | Max-Cut Problem and Bipartite Graphs | Adders and Numbers Checking | Grover algorithm for Max-Cut Problem
4.5 Conventional Quantum Algorithms in Qiskit II
Bernstein-Vazirani Algorithm | Simon’s Algorithm
Chapter 5: Quantum Algorithms 2
5.1 Quantum Fourier Transform
Discrete Fourier Transform | Quantum Fourier Transform | Phase Estimation
5.2 Shor’s Algorithm for Prime Factorization
Order Finding Algorithm | Shor’s Algorithm | Shor’s Algorithm in More Detail
Appendices
A. Python Basics
Jupyter notebooks | Variables | Loops | Conditionals | Lists | Python Reference | Drawing Reference | Style Guide for Python Code – PEP8
B. Math Basics
Vectors | Dot Product | Matrices | Tensor Product | Exercises
C. Qiskit Basics
Qiskit Installation and Test | First Quantum Programs with Qiskit | Qiskit Reference
D. Cirq Basics
Cirq Installation and Test | Introduction to Cirq