Implementation of a collection of quantum algorithms using qiskit. In partial fulfilment of BITS F421T Thesis. A Qiskit installation is required to run the code. For details on installation of Qiskit, refer to https://qiskit.org/documentation/install.html. Contents of the repository are described below.
Collection of detailed notes on standard quantum algorithms simulated in Qiskit. Recommend NbViewer for viewing: https://nbviewer.jupyter.org/github/Arkonaire/Quantum-Algorithms/tree/master/Standard%20Algorithms/
An implementation of the HHL Algorithm for the simple case described in [2].
- hhl_simulation.py: Simplistic Simulation of HHL Algorithm.
- hhl_components.py: Generalized Circuit for HHL. Yields good results in limited cases due to less number of qubits involved in classical simulations.
Implementation of the Max-Cut Solution using QAOA
- qaoa_components.py: Variational Circuit for QAOA.
- qaoa_maxcut.py: Simulation of the max cut problem using QAOA.
An implementation of Schumacher's Block Coding Scheme.
- compressor.py: Schumacher Compression for a simple case (Both with and w/o noise)
3 Qubit and 5 Qubit error correcting codes.
- three_qubit_code.py: Quantum Circuit for the 3 Qubit Code.
- five_qubit_code.py: Quantum Circuit for the 5 Qubit Code.
- three_qubit_simulation.py: Simulation of the 3 Qubit Code.
- five_qubit_simulation.py: Simulation of the 5 Qubit Code.
- noise.py: Qiskit noise models for the simulations
Note: References for the Jupyter Notebooks in Standard Algorithms may be found within the respective Notebooks.
- Hector Abraham et al. Qiskit: An Open-source Framework for Quantum Computing. 2019. doi: 10.5281/zenodo.2562110.
- Yudong Cao et al. "Quantum circuit design for solving linear systems of equations". In: Molecular Physics 110.15-16 (2012), pp. 1675-1680.
- David Deutsch. "Quantum theory, the Church-Turing principle and the universal quantum computer". In: Proceedings of the Royal Society of London. A. Mathematical and Physical Sciences 400.1818 (1985), pp. 97-117.
- David Deutsch and Richard Jozsa. "Rapid solution of problems by quantum computation". In: Proceedings of the Royal Society of London. Series A: Mathematical and Physical Sciences 439.1907 (1992), pp. 553-558.
- Edward Farhi, Jeffrey Goldstone, and Sam Gutmann. "A quantum approximate optimization algorithm". In: arXiv preprint arXiv:1411.4028 (2014).
- Laszlo Gyongyosi, Sandor Imre, and Hung Viet Nguyen. "A survey on quantum channel capacities". In: IEEE Communications Surveys & Tutorials 20.2 (2018), pp. 1149-1205.
- Alexander S Holevo. "The capacity of the quantum channel with general signal states". In: IEEE Transactions on Information Theory 44.1 (1998), pp. 269-273.
- Seth Lloyd. "Quantum algorithm for solving linear systems of equations". In: APS 2010 (2010), pp. D4-002.
- Michael A. Nielsen and Isaac L. Chuang. Quantum Computation and Quantum Information: 10th Anniversary Edition. 10th. USA: Cambridge University Press, 2011. ISBN: 1107002176.
- John Preskill. "Lecture notes for physics 229: Quantum information and computation". In: California Institute of Technology 16 (1998).
- Benjamin Schumacher. "Quantum coding". In: Physical Review A 51.4 (1995), p. 2738.
- Claude E Shannon. "A mathematical theory of communication". In: The Bell system technical journal 27.3 (1948), pp. 379-423.
- Peter W Shor. "Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer". In: SIAM review 41.2 (1999), pp. 303-332.31
- Peter W Shor. "Scheme for reducing decoherence in quantum computer memory". In: Physical review A 52.4 (1995), R2493.
- Graeme Smith. "Quantum channel capacities". In: 2010 IEEE Information Theory Work-shop. IEEE. 2010, pp. 1-5.
- John Von Neumann. Mathematical foundations of quantum mechanics: New edition. Princeton university press, 2018.
- Mark M. Wilde. Quantum Information Theory. 1st. USA: Cambridge University Press, 2013. ISBN: 1107034256.