Source: IBM Quantum
This repository contains a collection of my projects related to quantum computing. These projects cover various aspects of quantum computing, such as quantum algorithms, quantum programming, quantum simulation, and quantum hardware.
The repository contains the following projects:
-
- Description: This project is based on Bernstein Vazirani Algorithm.
-
Benchmarking and Solving Vehicle routing problem on various QPU's:
- Description: This project uses hybrid algorithms such as quantum approximate optimization algorithm and quadratic unconstrained binary optimization.
-
Quantum Optimization of Protein Folding Landscapes: Exploring Minimum Energy Conformations
- Description: This project uses hybrid algorithms such as quantum approximate optimization algorithm and variational quantum eigensolver.
-
Automated Medical Image Diagnostics using QML
- Description: This project uses Quantum Inspired CNN with reversed MERA model.
-
Quantum-Secure-Communication-via-Steganography:
- Description: This project uses BB84, BBM92, and Ekert91, communication protocols.
-
Android Malware Detection using VQC:
- Description: A Variational Quatum Classifier Model based project.
Each project includes detailed documentation and instructions on how to run the code. The repository is constantly updated with new projects as I explore more topics in quantum computing.
-
Qiskit
: A quantum computing software development framework used to build and execute quantum circuits. Used in the Quantum Teleportation and Grover's Algorithm implementations. -
NumPy
: A Python package for scientific computing that provides support for large, multi-dimensional arrays and matrices, as well as a large library of mathematical functions. Used in the Quantum Circuit Simulator project. To install, runpip install numpy
. -
Pennylane
: An open-source software library for quantum machine learning, quantum computing, and optimization. Used in the Quantum Machine Learning project to demonstrate a quantum support vector machine. -
Dwave Ocean SDK
: It is a suite of open source Python tools on the D-Wave GitHub repository for solving hard problems with quantum computers.
To get started with these projects, simply clone or download the repository to your local machine. Each project has its own folder containing the necessary code and instructions on how to run it. Some projects may require installation of additional packages, such as Qiskit or Pennylane, which can be easily installed using pip.
First steps to run locally
Create a conda environment with the required dependencies:
conda env create -n quantumproj environment.yml && conda activate quantumproj
Install qiskit, qiskit-nature and PySCF via pip.
Install pip first:
conda install -yc conda-forge pip==22.1.2 && python3 -m pip install -U --upgrade pip
Installing qiskit[all] :
python3 -m pip install -U qiskit[all]
Installing pennylane :
python3 -m pip install -U pennylane --upgrade
PennyLane comes with high performance built-in simulators, such as default.qubit
, default.mixed
, and lightning.qubit
. In addition, it supports additional quantum simulators and quantum hardware via an array of plugins. Visit the plugins page for details. As a instance, to use 'qiskit' :
python3 -m pip install -U pennylane-qiskit
More details on installation are in the document. Manually installing cirq :
python3 -m pip install -U cirq
Final step, installing PySCF (no support for native Windows platform, see issue #750):
python3 -m pip install -U qiskit-nature[pyscf]
Alternatively, one can install the required dependencies via the package_list.txt file:
conda create -yn quantumproj python==3.9.11 && conda activate quantumproj
conda update -yn base -c defaults conda && conda install -yc conda-forge pip==22.1.2
python3 -m pip install --user --upgrade pip && python3 -m pip install -r requirements.txt
- Contributions to the repository are always welcome! If you have any ideas for new projects or would like to contribute to an existing one.
- Please refer to CONTRIBUTE.md for details. 😍
This work is licensed under a MIT License license.
Created and maintained by @Shisheer S Kaushik.