Skip to main content

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?

  1. Clone this repo;
  2. 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:

  1. Clone the repo https://github.com/LuchnikovI/qem;
  2. Install rust (see https://rust-lang.org/tools/install/);
  3. Install maturin by running pip install maturin .;
  4. 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

bqa-0.1.2.tar.gz (18.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bqa-0.1.2-py3-none-any.whl (21.9 kB view details)

Uploaded Python 3

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

Hashes for bqa-0.1.2.tar.gz
Algorithm Hash digest
SHA256 0d27b17e6b839c88abd5ef28290302631997822c24fc954d1596bfe9bcc1c481
MD5 b0e039991682974ccdaf0dd0e1c8f8ae
BLAKE2b-256 0c479c75d3a93ebcd3bcb221f5828c14e5a6bd28ffe1f24f35ceffd068a28625

See more details on using hashes here.

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

Hashes for bqa-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3270ab439ea952f2dae6d520b3780052a0b58168a55086cc7640cc8bf5c3ff7f
MD5 0497ba7897ab264da4efc65233a7a0d7
BLAKE2b-256 38f2c3a884770c909803d8b897f9e83f3e2e9faadab958b33c0529bdff0f2932

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page