A framework for tensor-network–based quantum annealing simulation powered by belief propagation.
Project description
What is it?
This is a package for large scale tensor-networks-based simulation of quantum annealing. It uses belief propagation based approximate inference (see https://arxiv.org/abs/2306.17837, https://arxiv.org/abs/2409.12240, https://arxiv.org/abs/2306.14887) as an engine. This implementation introduces a compilation step that classifies graph nodes by degree, groups the corresponding tensors into batched representations, groups the associated messages, enabling massively parallel belief propagation and related subroutines easelly deployable on a GPU.
How to install?
- Clone this repo;
- Run
pip install .from the clonned repo under your python environment.
To validate the computation results, some examples and tests rely on an exact quantum circuit simulator available at https://github.com/LuchnikovI/qem. To install it, follow the steps below:
- Clone the repo https://github.com/LuchnikovI/qem;
- Install rust (see https://rust-lang.org/tools/install/);
- Install
maturinby runningpip install maturin .; - Run
pip install .from the clonned repo under your python environment.
How to use?
This package exposes a single entry point, run_qa, which executes the full workflow. It accepts a single argument which is a Python dictionary that fully specifies the quantum annealing task. This dictionary serves as a configuration or DSL and can be directly deserialized from JSON or other formats. For a concrete example of the configuration, see ./examples/small_ibm_heavy_hex.py.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bqa-0.1.2.tar.gz.
File metadata
- Download URL: bqa-0.1.2.tar.gz
- Upload date:
- Size: 18.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.1 CPython/3.12.12 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d27b17e6b839c88abd5ef28290302631997822c24fc954d1596bfe9bcc1c481
|
|
| MD5 |
b0e039991682974ccdaf0dd0e1c8f8ae
|
|
| BLAKE2b-256 |
0c479c75d3a93ebcd3bcb221f5828c14e5a6bd28ffe1f24f35ceffd068a28625
|
File details
Details for the file bqa-0.1.2-py3-none-any.whl.
File metadata
- Download URL: bqa-0.1.2-py3-none-any.whl
- Upload date:
- Size: 21.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.1 CPython/3.12.12 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3270ab439ea952f2dae6d520b3780052a0b58168a55086cc7640cc8bf5c3ff7f
|
|
| MD5 |
0497ba7897ab264da4efc65233a7a0d7
|
|
| BLAKE2b-256 |
38f2c3a884770c909803d8b897f9e83f3e2e9faadab958b33c0529bdff0f2932
|