Skip to main content

QML Essentials

A toolbox to make working with QML models easier.


📜 About

This repo contains some of the commonly used Ansaetze and coding stuff required for working with QML and Data-Reuploading models.
There are also dedicated classes to calculate entanglement and expressiblity of a provided model as well as its Fourier coefficients. Checkout our Arxiv Paper to learn more.

🚀 Getting Started

pip install qml-essentials

to install our package from PyPI.

You can find details on how to use it and further documentation on the corresponding Github Page.

📦 Package Structure

The following diagram provides an overview on how the different components within this package depend on each other.

Circuit simulation is provided by jaqsi, our gate- and pulse-level simulator, which this package builds upon.

flowchart LR
    qmless([QML Essentials])
    qmless --> qmless.ansaetze([Ansaetze])
    qmless.ansaetze --> qmless.blocks([Blocks])
    qmless.blocks --> qmless.topo([Topologies])
    qmless.blocks --> jaqsi.gates([Gates])
    qmless --> qmless.coefficients([Coefficients])
    qmless.coefficients --> qmless.analytical([Analytical])
    qmless.coefficients --> qmless.numerical([Numerical])
    qmless.numerical --> qmless.fcc([Fourier Coefficient Correlation])
    qmless.numerical --> qmless.fingerprint([Fourier Fingerprints])
    qmless --> qmless.models([Models])
    qmless.models --> jaqsi.script([Script])
    qmless --> qmless.expr([Expressibility])
    qmless --> qmless.ent([Entanglement])
    qmless.ent --> qmless.mw([Meyer Wallach])
    qmless.ent --> qmless.re([Relative Entropy])
    qmless.ent --> qmless.bell([Bell Measurement])
    qmless.ent --> qmless.ef([Entanglement of Formation])
    qmless.ent --> qmless.ce([Concentratable Entanglement])

    subgraph jaqsi [jaqsi]
        jaqsi.gates
        jaqsi.script
    end

    classDef l1 fill:#1f8f5a,stroke:#1f8f5a,color:#d4f7e8
    classDef l2 fill:#2fb170,stroke:#2fb170,color:#d4f7e8
    classDef l3 fill:#58e3a6,stroke:#58e3a6,color:#272a35
    classDef l4 fill:#a8f0d1,stroke:#a8f0d1,color:#272a35

    linkStyle default stroke-width:2px

    class qmless l1
    class qmless.ansaetze,qmless.coefficients,qmless.models,qmless.expr,qmless.ent l2
    class qmless.blocks,qmless.numerical,qmless.analytical,qmless.mw,qmless.bell,qmless.ef,qmless.re,qmless.ce l3
    class qmless.topo,qmless.fcc,qmless.fingerprint,jaqsi.gates,jaqsi.script l4

🚧 Contributing

Contributions are highly welcome! 🤗 Take a look at our Contribution Guidelines.

See our coverage report if you would like to contribute with further tests.

Metadata

Release files for qml-essentials 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for qml-essentials 0.3.1
File Interpreter ABI Platform
qml_essentials-0.3.1-py3-none-any.whl Python 3 none any Details

Release files / qml_essentials-0.3.1-py3-none-any.whl

Download URL qml_essentials-0.3.1-py3-none-any.whl
Size 85.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b60093970ba32fd75853021dc7a10a02e9237257f0c8e1f2abcb943f8db4932d
BLAKE2b-256 checksum
How to use checksums
ede4d3f89e9fa0e036d6156302850276708ffa5d5ab825208e724115b26e9aad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.22 {"installer":{"name":"uv","version":"0.12.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page