This is the github repository for our (CS-754) Programming Language Project - Functional Paradigms in Quantum Programming
This project provides implementations of Shor's and Grover's algorithms, both in classical (OCaml) and quantum (Python using Qiskit by IBM) paradigms. Additionally, it offers a quantum computing framework implemented in OCaml, serving as an abstraction layer for developers unfamiliar with low-level quantum computing implementations. The framework facilitates the creation and execution of custom quantum circuits, enabling users to explore quantum algorithms without delving into the intricacies of quantum hardware.
- Classical and quantum implementations of Shor's and Grover's algorithms
- Quantum computing framework for building and executing custom quantum circuits
- Support for simulating quantum algorithms using Qiskit
- Interactive Read-Eval-Print Loop (REPL) for easy interaction with the framework
- Clone the repository:
git clone https://github.com/ritik-rkg/Functional-Paradigms-in-Quantum-Computing.git
- Navigate to the project directory:
cd Functional-Paradigms-in-Quantum-Computing
- Install required dependencies: OCaml, Numpy, Pandas, MatplotLib, Opam, Pylatexenc, Qiskit, qiskit_aer or You can also install the dependencies using
pip install -r requirements.txt
- For Quantum Code, upload the notebook on the colab and Run All. (make sure you have all the dependencies).
- For Classical Code, navigate to the file and run
ocaml Grovers_searching_classical.ml
orocaml Shor_classical_implementation.ml
- You can also install the dependencies using
pip install -r requirements.txt
Contributions are welcome! If you'd like to contribute to this project, please follow these steps:
- Fork the repository
- Create your feature branch:
git checkout -b feature-name
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin feature-name
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.