This repository has been archived by the owner on Aug 21, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Roadmap
Mariia Mykhailova edited this page Jul 19, 2020
·
23 revisions
This page contains a rough outline of the topics we'd like to cover in this project, and tracks the status of work on them. In the long run we intend for the Quantum Katas to be a proper companion for any introduction to quantum computing course, but there is a lot of work to be done to get there. The list is by no means final, and we welcome any contributions to the project!
Topic | Status |
---|---|
Introduction to Q# | |
Classical language features | ⬜ |
Defining quantum operations (includes adjoint and controlled syntax) | ⬜ |
Debugging and testing (tutorial) | ⬜ |
Quantum Computing Concepts: Qubits and Gates | |
Complex arithmetic (tutorial) | ✔️ |
Linear algebra (tutorial) | ✔️ |
Qubit (tutorial) | ✔️ |
Single-qubit gates (tutorial) | ✔️ |
Basic gates (kata) | ✔️ |
Multi-qubit systems (tutorial) | ✔️ |
Multi-qubit gates (tutorial) | ✔️ |
Superposition (kata) | ✔️ |
Quantum Computing Concepts: Measurements | |
Probability theory (tutorial) | ⬜ |
Measurements (tutorial) | ⬜ |
Measurements (kata) | ✔️ |
Joint (parity) measurements (kata) | ✔️ |
Simple Algorithms | |
Random number generator (tutorial) | ✔️ |
Teleportation (kata) | ✔️ |
Superdense coding (kata) | ✔️ |
Quantum Oracles and Simple Oracle Algorithms | |
Introduction to quantum oracles (tutorial) | ⬜ |
Deutsch-Jozsa algorithm (tutorial) | ✔️ |
Deutsch-Jozsa and Bernstein-Vazirani algorithms (kata) | ✔️ |
Simon's algorithm (in progress) | ⏳ |
Simon's algorithm (kata) | ✔️ |
Grover's Algorithm | |
Implementing Grover's algorithm (tutorial) | ⬜ |
Implementing Grover's algorithm (kata) | ✔️ |
Exploring Grover's algorithm (tutorial) | ✔️ |
Using Grover's algorithm for solving SAT problems (kata) | ✔️ |
Using Grover's algorithm for solving graph coloring problems (kata) | ✔️ |
Using Grover's algorithm for solving cryptarithms | ⬜ |
Using Grover's algorithm for database search (and why it is not a good idea) | ⬜ |
Tools and libraries/Building up to Shor's algorithm | |
Quantum Fourier transform (kata) | ⏳ |
QFT-based quantum arithmetic | ⬜ |
Quantum phase estimation (kata) | ✔️ |
Iterative phase estimation | ⬜ |
Quantum counting (in progress) | ⏳ |
Shor's algorithm (discuss) | ⏳ |
Reversible computing | |
Truth tables (kata) | ✔️ |
Quantum ripple-carry adder (kata) | ✔️ |
Entanglement Games | |
CHSH game (kata) | ✔️ |
GHZ game (kata) | ✔️ |
Mermin-Peres magic square game (kata) | ✔️ |
Quantum Cryptography | |
Quantum key distribution - BB84 protocol (kata/tutorial) | ✔️ |
Quantum key distribution - E91 protocol | ⬜ |
Quantum Error Correction | |
Bit flip code (kata) | ✔️ |
Sign flip code (discuss) | ⏳ |
Shor code (discuss) | ⏳ |
Steane code | ⬜ |
Bonus Topics | |
Distinguish several unitaries (kata) | ✔️ |
Implement a unitary with a certain pattern of zero/non-zero elements (kata) | ✔️ |
Hidden shift problem (in progress) | ⏳ |