mind-the-qapp

An Application for Visualizing the Crux in Quantum Machine Learning

https://github.com/cirkiters/mind-the-qapp

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.6%) to scientific vocabulary

Keywords

quantum-machine-learning visualization
Last synced: 6 months ago · JSON representation ·

Repository

An Application for Visualizing the Crux in Quantum Machine Learning

Basic Info
  • Host: GitHub
  • Owner: cirKITers
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 1.61 MB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 4
  • Releases: 0
Topics
quantum-machine-learning visualization
Created about 2 years ago · Last pushed about 1 year ago
Metadata Files
Readme Contributing License Citation

README.md

Mind the QApp

:scroll: About

This application serves a visualization and teaching purpose for simple training scenarios to study various effects and problems in QML. Characteristic paramters of a QML model can be adjusted - number of qubits - number of layers - type of ansatz - data re-uploading [1] The model is generated using our QML Essentials library. Head over to check it out!

As noise is a non-negligible factor in Quantum Computing, the application allows the user to adjust the strength of various types of noise. This enables to study the impact of noise on the Fourier spectrum, which can be represented with the chosen ansatz [1], both with a fixed set of parameters and within a training scenario.

We can also track the entangling capability [2] of the chosen Ansatz over the training period, so that one can evaluate the effect of parameterized entangling gates on the training performance.

The entanglement and expressibility of [3] can also be analyzed in another part of the application, distinct from the training routine, where we present a visualization of expressibility with respect to the input value. This is done for randomly sampled parameter values, where the distance to the Haar measure is indicated by the Kullback-Leibler divergence, as in [3].

To improve the performance, we utilize caching strategies.

:books: References

  1. The effect of data encoding on the expressive power of variational quantum machine learning models
  2. An observable measure of entanglement for pure states of multi-qubit systems
  3. Expressibility and entangling capability of parameterized quantum circuits for hybrid quantum-classical algorithms

:rocket: Getting Started

  1. Clone this repository
  2. Run poetry install or install the dependencies specified in pyproject.toml manually
  3. Run python app/app.py
  4. Navigate to http://0.0.0.0:8050 and play around

:camera: Screenshots

Noise Visualization

Training Visualization

Expressibility Visualization

Owner

  • Name: cirKITers
  • Login: cirKITers
  • Kind: organization
  • Location: Germany

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: "Strobl"
    given-names: "Melvin"
    orcid: "https://orcid.org/0000-0003-0229-9897"
  - family-names: "Franz"
    given-names: "Maja"
    orcid: "https://orcid.org/0000-0002-2801-7192"
  - family-names: "Kuehn"
    given-names: "Eileen"
    orcid: "https://orcid.org/0000-0002-8034-8837"
  - family-names: "Mauerer"
    given-names: "Wolfgang"
    orcid: "https://orcid.org/0000-0002-9765-8313"
  - family-names: "Streit"
    given-names: "Achim"
    orcid: "https://orcid.org/0000-0002-5065-469X"

title: "MindTheQApp: An Application for Visualizing the Crux in Quantum Machine Learning "
version: 0.1.0
# doi: 10.5281/zenodo.1234
# date-released: 2024-11-25
# url: ""

GitHub Events

Total
  • Issues event: 28
  • Watch event: 1
  • Delete event: 8
  • Issue comment event: 18
  • Push event: 66
  • Pull request review comment event: 5
  • Pull request event: 23
  • Pull request review event: 21
  • Create event: 11
Last Year
  • Issues event: 28
  • Watch event: 1
  • Delete event: 8
  • Issue comment event: 18
  • Push event: 66
  • Pull request review comment event: 5
  • Pull request event: 23
  • Pull request review event: 21
  • Create event: 11

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 4
  • Total pull requests: 5
  • Average time to close issues: 24 days
  • Average time to close pull requests: 2 months
  • Total issue authors: 2
  • Total pull request authors: 3
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.2
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 4
  • Pull requests: 4
  • Average time to close issues: 24 days
  • Average time to close pull requests: 1 day
  • Issue authors: 2
  • Pull request authors: 3
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • stroblme (15)
  • majafranz (3)
Pull Request Authors
  • stroblme (12)
  • paxuy (2)
  • majafranz (1)
Top Labels
Issue Labels
enhancement (10) bug (8)
Pull Request Labels
enhancement (2)

Dependencies

poetry.lock pypi
  • appdirs 1.4.4
  • appnope 0.1.3
  • asttokens 2.4.1
  • attrs 23.2.0
  • autograd 1.6.2
  • autoray 0.6.7
  • blinker 1.7.0
  • cachetools 5.3.2
  • certifi 2023.11.17
  • cffi 1.16.0
  • charset-normalizer 3.3.2
  • click 8.1.7
  • colorama 0.4.6
  • comm 0.2.0
  • contourpy 1.2.0
  • cycler 0.12.1
  • dash 2.16.1
  • dash-bootstrap-components 1.5.0
  • dash-core-components 2.0.0
  • dash-html-components 2.0.0
  • dash-table 5.0.0
  • debugpy 1.8.0
  • decorator 5.1.1
  • exceptiongroup 1.2.0
  • executing 2.0.1
  • fastjsonschema 2.19.1
  • flask 3.0.1
  • fonttools 4.46.0
  • future 0.18.3
  • idna 3.6
  • importlib-metadata 7.0.1
  • ipykernel 6.27.1
  • ipython 8.18.1
  • ipywidgets 8.1.1
  • itsdangerous 2.1.2
  • jedi 0.19.1
  • jinja2 3.1.3
  • jsonschema 4.20.0
  • jsonschema-specifications 2023.12.1
  • jupyter-client 8.6.0
  • jupyter-core 5.5.0
  • jupyterlab-widgets 3.0.9
  • kiwisolver 1.4.5
  • markupsafe 2.1.4
  • matplotlib 3.8.2
  • matplotlib-inline 0.1.6
  • nbformat 5.9.2
  • nest-asyncio 1.5.8
  • networkx 3.2.1
  • numpy 1.26.2
  • packaging 23.2
  • pandas 2.1.4
  • parso 0.8.3
  • pennylane 0.35.1
  • pennylane-lightning 0.35.1
  • pexpect 4.9.0
  • pillow 10.1.0
  • platformdirs 4.1.0
  • plotly 5.18.0
  • prompt-toolkit 3.0.43
  • psutil 5.9.6
  • ptyprocess 0.7.0
  • pure-eval 0.2.2
  • pycparser 2.21
  • pygments 2.17.2
  • pyparsing 3.1.1
  • python-dateutil 2.8.2
  • pytz 2023.3.post1
  • pywin32 306
  • pyzmq 25.1.2
  • referencing 0.32.1
  • requests 2.31.0
  • retrying 1.3.4
  • rpds-py 0.16.2
  • rustworkx 0.13.2
  • scipy 1.11.4
  • semantic-version 2.10.0
  • setuptools 69.0.3
  • six 1.16.0
  • stack-data 0.6.3
  • tenacity 8.2.3
  • toml 0.10.2
  • tornado 6.4
  • traitlets 5.14.0
  • typing-extensions 4.9.0
  • tzdata 2023.4
  • urllib3 2.1.0
  • wcwidth 0.2.12
  • werkzeug 3.0.1
  • widgetsnbextension 4.0.9
  • zipp 3.17.0
pyproject.toml pypi
  • dash ^2.16.1
  • dash-bootstrap-components ^1.5.0
  • ipykernel ^6.27.1
  • ipywidgets ^8.1.1
  • matplotlib ^3.8.2
  • nbformat ^5.9.2
  • pandas ^2.1.4
  • pennylane ^0.35.1
  • plotly ^5.18.0
  • python >=3.10,<3.12