This repository contains a couple of documents and Python scrips related to quantum computing. At the moment, there is the following material.
- A description of Shor's algorithm for factoring large integers, including a simulation in Python
- An introduction to the mathematical foundations of quantum error correction, i.e. simple codes, the stabilizer formalism, toric codes and surface codes
- A description of the quantum phase estimation algorithm, including its relation to Shor's algorithm and several applications, for instance matrix inversion
- Material on implementations of quantum computers, specifically superconducting qubits based on Josephson junctions and quantum computing based on nuclear magnetic resonance, including a few Python notebooks
- a few Python notebooks that demonstrate how to work with IBMs Qiskit framework are collected in the directory Qiskit - this currently includes example code for quantum Fourier transform, the Deutsch-Jozsa algorithm, Shor's algorithm, Quantum Teleportation and simulating a Hydrogen molecule
Of course all these implementations and documents have been created for educational purposes and are not intended for production use - feel free to play with them and modify them if needed. When you use or cite this code or the documentation, please add a reference to this site or my blog www.leftasexercise.com.