Preface
1. Introduction
Required Background
What Is a QPU?
A Hands-on Approach
A QCEngine Primer
Native QPU Instructions
Simulator Limitations
Hardware Limitations
QPU Versus GPU: Some Common Characteristics
Part Ⅰ Programming for a QPU
2. One Qubit
A Quick Look at a Physical Qubit
Introducing Circle Notation
Circle Size
Circle Rotation
The First Few QPU Operations
QPU Instruction: NOT
QPU Instruction: HAD
QPU Instruction: READ
QPU Instruction: WRITE
Hands-on: A Perfectly Random Bit
QPU Instruction: PHASE(0)
QPU Instructions: ROTX(0) and ROTY(0)
COPY: The Missing Operation
Combining QPU Operations
QPU Instruction: ROOT-of-NOT
Hands-on: Quantum Spy Hunter
Conclusion
3. Multiple Qubits
Circle Notation for Multi-Qubit Registers
Drawing a Multi-Qubit Register
Single-Qubit Operations in Multi-Qubit Registers
Reading a Qubit in a Multi-Qubit Register
Visualizing Larger Numbers of Qubits
QPU Instruction: CNOT
Hands-on: Using Bell Pairs for Shared Randomness
QPU Instructions: CPHASE and CZ
QPU Trick: Phase Kickback
QPU Instruction: CCNOT (Toffoli)
QPU Instructions: SWAP and CSWAP
The Swap Test
Constructing Any Conditional Operation
Hands-on: Remote-Controlled Randomness
Conclusion
4. Quantum Teleportation
Hands-on: Let's Teleport Something
Program Walkthrough
Step 1: Create an Entangled Pair
Step 2: Prepare the Payload
……