Git Product home page Git Product logo

qleet's Introduction

qleet

qLEET is an open-source library for exploring Loss landscape, Expressibility, Entangling capability and Training trajectories of noisy parameterized quantum circuits.

GitHub Actions status Read the Docs status Codecov CodeFactor Unitary Fund

Key Features

  1. Will support Qiskit’s, Cirq’s and pyQuil's quantum circuits and noise models.
  2. Provides opportunities to improve existing algorithms like VQE, QAOA by utilizing intuitive insights from the ansatz capability and structure of loss landscape.
  3. Facilitate research in designing new hybrid quantum-classical algorithms.

Installation

qLEET requires Python version 3.7 and above. Installation of qLEET, as well as all its dependencies, can be done using pip:

python -m pip install qleet

Examples

Properties of an Ansatz

Ansatz

ansatz

Expressibility and Entanglement Spectrum

Expressibility Entanglement Spectrum

Solving MAX-CUT using QAOA

Problem Graph

Graph

Loss Landscape and Training Trajectories

losslandscape trainingpath

Contributing to qLEET

We love your input! We want to make contributing to this project as easy and transparent as possible, whether it's:

  • Reporting a bug
  • Submitting a fix
  • Proposing new features

Feel free to open an issue on this repository or add a pull request to submit your contribution. Adding test cases for any contributions is a requirement for any pull request to be merged

Financial Support

This project has been supported by Unitary Fund.

License

qLEET is free and open source, released under the Apache License, Version 2.0.

References

  1. Expressibility and Entangling Capability of Parameterized Quantum Circuits for Hybrid Quantum‐Classical Algorithms, Sim, S., Johnson, P. D., & Aspuru‐Guzik, A. Advanced Quantum Technologies, 2(12), 1900070. Wiley. (2019)
  2. Visualizing the Loss Landscape of Neural Nets, Hao Li, Zheng Xu, Gavin Taylor, Christoph Studer, Tom Goldstein, NIPS 2018, arXiv:1712.09913 [cs.LG] (2018)

qleet's People

Contributors

animeshsinha1309 avatar obliviateandsurrender avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

qleet's Issues

Setup CI workflow

  • Setup continuous integration workflow for the new pull requests and push in the "master" branch
  • Fix the requirement pipeline and make sure that the tests pass
  • Setup pylint to lint code
  • Setup yapf and the black formatters
  • Setup mypy to perform typechecking

Generate Documentation for qLEET

The following tasks have to be completed to make a good documentation for our project.

  • Generate documentation using Sphinx
  • Connect it to Read-the-docs
  • Adding in the relevant imports for sphinx
  • Adding sphinx-doctests to keep a check on comments
  • Writing some boilerplate docs for the first page with a few examples

Add Tutorial Notebooks

  • Tutorial for Basic Setup
  • Tutorial for Loss Landscape Visualization
  • Tutorial for Training Trajectory Visualization
  • Tutorial for Expressibility Estimation
  • Tutorial for Entanglement Capability - (Meyer-Wallach and Scott Measure)
  • Tutorial for Entanglement Spectrum

Unable to use qleet on colab

Describe the bug
qleet installs without issue on google colab. However, when I initialize it, there is a Module error "No module named 'cirq.contrib.quil_import'"

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'import qleet' on google colab
  2. Click on '....'
  3. Scroll down to '....'
  4. See error: "ModuleNotFoundError: No module named 'cirq.contrib.quil_import'"

Expected behavior
The library should work if qleet is installed per instructions.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS] Windows
  • Browser [e.g. chrome, safari] Chrome
  • Version [e.g. 22] NA

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.