Author(s): Johan Vos
Publisher: Manning
Year: 2020
Quantum Computing in Action MEAP V09
shop at manning.com
Copyright
welcome
brief contents
Chapter 1: Evolution/Revolution/Hype?
1.1 Expectation Management
1.1.1 Hardware
1.1.2 Software
1.1.3 Algorithms
1.1.4 Why start with quantum computing today?
1.2 The disruptive parts of Quantum Computing, getting closer to nature
1.2.1 Evolutions in classical computers
1.2.2 Revolution in quantum computers
1.2.3 Quantum Physics
1.3 Hybrid Computing
1.4 Abstracting software for Quantum Computers
Chapter 2: Hello World, Quantum Computing
2.1 Introducing Strange
2.2 Running a first demo with Strange
2.2.1 Inspecting the code for HelloStrange
2.2.2 Java API’s versus implementations
2.3 Obtaining and installing the Strange code
2.3.1 Downloading the code
2.3.2 A first look into the library
2.4 Next steps
Chapter 3: Qubits and Quantum Gates, the basic units in Quantum Computing
3.1 Classic bit versus Qubit
3.2 Qubit notations
3.2.1 One qubit
3.2.2 Multiple qubits
3.3 Gates: Manipulating and measuring qubits
3.4 A very first [quantum] gate: the Pauli-X gate
3.5 Playing with Qubits in Strange
3.5.1 QuantumExecutionEnvironment
3.5.2 Program
3.5.3 Steps and Gates
3.5.4 Results
3.6 Visualisation of Quantum circuits
3.7 What did we learn?
Chapter 4: Superposition
4.1 What is superposition
4.2 The state of a quantum system as a probability vector
4.3 Introducing matrix gate operations
4.3.1 The Pauli-X gate as a matrix
4.3.2 Applying the Pauli-X gate to a qubit in superposition
4.3.3 A matrix that works for all gates
4.4 The Hadamard Gate, the gate to superposition
4.5 Java code using the Hadamard gate
4.6 Summary
Chapter 5: Entanglement
5.1 Predicting heads or tails
5.2 Independent probabilities, the classic way
5.3 Independent probabilities, the Quantum way
5.4 The physical concept of entanglement
5.5 A Gate representation for Quantum Entanglement
5.5.1 Converting to probabiliy vectors
5.5.2 CNot gate
5.6 Creating a Bell state: dependent probabilities
5.7 Mary had a little qubit
5.8 Summary
Chapter 6: Quantum Networking, the basics
6.1 Quantum computing versus quantum networking.
6.1.1 From classical networks to quantum networks
6.1.2 Topology of a quantum network
6.2 Obstacles for quantum networking.
6.2.1 Classical networking in Java
6.2.2 No cloning theorem
6.2.3 Physical limitations on transfering qubits
6.3 Pauli-Z gate and Measurement
6.3.1 Pauli-Z gate
6.3.2 Measurements
6.4 Quantum teleportation
6.4.1 The goal of quantum teleportation
6.4.2 Part 1, entanglement between Alice and Bob
6.4.3 Part 2, Alice operations
6.4.4 Part 3, Bob’s operations
6.4.5 Running the application
6.4.6 Quantum and classical communication
6.5 A quantum repeater
6.6 Summary
Chapter 7: Our HelloWorld explained
7.1 From hardware to high-level languages
7.2 Abstractions at different levels
7.3 Other languages
7.3.1 Resources
7.4 Strange: high-level and low-level approach
7.4.1 Top-level API
7.4.2 Low-level API
7.4.3 When to use what
7.5 StrangeFX, a development tool
7.5.1 Visualisation of circuits
7.5.2 Debugging Strange code
7.6 Simulators, cloud services and real hardware
7.7 Summary
Chapter 8: Secure communication using Quantum Computing
8.1 The bootstrap problem
8.1.1 Issues with sending bits over a network
8.1.2 One-time pad to the rescue
8.1.3 Sharing a secret key
8.2 Quantum Key Distribution
8.3 Naive approach
8.4 Leveraging superposition
8.4.1 Applying 2 Hadamard gates
8.4.2 Sending qubits in superposition
8.5 BB84
8.5.1 Confusing Eve
8.5.2 Bob is confused too
8.5.3 Alice and Bob are talking
8.6 QKD in Java
8.6.1 The code
8.6.2 Running the application
8.7 Introducing Simulaqron
8.8 Summary
Chapter 9: Deutsch-Jozsa algorithm
9.1 When the solution is not the problem
9.2 Properties of functions
9.2.1 Constant and Balanced functions
9.3 Reversible quantum gates
9.3.1 Experimental evidence
9.3.2 Mathematical proof
9.4 Defining an Oracle
9.5 From functions to Oracle
9.5.1 Constant functions
9.5.2 Balanced functions
9.6 Deutsch algorithm
9.7 Deutsch Josza algorithm
9.8 Summary
Chapter 10: Grover’s Search Algorithm
10.1 Do we need yet another search architecture?
10.1.1 Traditional search architecture
10.1.2 What is Grover’s search algorithm?
10.2 Classical search problems
10.2.1 General preparations
10.2.2 Searching the list
10.2.3 Searching using a function
10.3 Quantum search: Using Grover’s search algorithm
10.4 The algorithm behind Grover’s search
10.4.1 Running the sample code
10.4.2 Probabilities and amplitudes
10.4.3 Superposition
10.4.4 Quantum Oracle
10.4.5 Grover Diffusion Operator: Increasing the probability
10.5 Conclusion
Chapter 11: Shor’s Algorithm
11.1 A quick sample
11.2 The marketing hype
11.3 Classic factorization versus quantum factorization
11.4 A multi-disciplinary problem
11.5 Problem description
11.6 The rationale behind Shor’s algorithm
11.7 The quantum-based implementation.
11.7.1 Creating the periodic function
11.7.2 Calculate the periodicity
11.8 Implementation challenges
11.9 Summary
Appendix A: Installing Strange
A.1 Requirements
A.2 Obtaining and installing the demo code
A.3 The HelloStrange program
A.3.1 Running the program