Skip to content

Latest commit

 

History

History
76 lines (56 loc) · 2.44 KB

README.md

File metadata and controls

76 lines (56 loc) · 2.44 KB

Quantum Algorithms Notebook

This repository contains implementations of five fundamental quantum algorithms. Each algorithm is presented in a Jupyter notebook, demonstrating practical applications, performance analysis, and visualizations.

Algorithms Implemented

  1. Bernstein-Vazirani Algorithm
  2. Deutsch-Jozsa Algorithm
  3. Grover's Algorithm
  4. Simon's Algorithm
  5. Shor's Algorithm

Technologies Used

  • Qiskit: A Python library for quantum computing provided by IBM.
  • IBM Quantum backend: For executing quantum circuits on real quantum processors and simulators.
  • Jupyter Notebooks: For creating and sharing documents that contain live code, equations, visualizations, and narrative text.
  • Matplotlib: For creating visualizations in Python.
  • NumPy: For numerical computations in Python.

Notebooks Overview

Determines a hidden binary string by querying an oracle.

Solves the problem of determining whether a function is constant or balanced.

Provides a quadratic speedup for unstructured search problems.

Solves Simon's problem exponentially faster than any classical algorithm.

Factors integers in polynomial time, breaking RSA encryption.

Getting Started

Prerequisites

  • Python 3.6 or higher
  • Jupyter Notebook
  • Qiskit
  • Matplotlib
  • NumPy

Installation

  1. Clone the repository:

    git clone https://github.com/ArshMalik02/quantum-algorithms-notebook.git
    cd quantum-algorithms-notebook
  2. Install the required packages:

    pip install qiskit matplotlib numpy
  3. Start Jupyter Notebook:

    jupyter notebook
  4. Open the desired notebook from the Jupyter interface.

Usage

Each notebook contains step-by-step instructions, code, and explanations. Simply run the cells in the notebooks to see the algorithms in action and visualize the results.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License.

Acknowledgements

  • IBM Quantum for providing access to quantum processors and simulators.
  • The Qiskit community for their excellent documentation and support.