Quantum enhanced Markov Chain Monte Carlo sampler simulated using PennyLane
Project description
Quantum-enhanced Markov Chain Monte Carlo Simulator
This is a lightweight research package for Quantum-enhanced Markov Chain Monte Carlo (QeMCMC) sampling over discrete spin/bitstring configurations.
The implementation is inspired by the numerics in Layden et al's paper on QeMCMC and builds upon the foundations of the pafloxy/quMCMC repository.
Documentation
Documentation and examples can be found here.
Features
- Arbitrary Energy Models: Define any classical Ising or QUBO-like model using a simple list of coupling tensors (example: 2D Ising
h,Jetc). A universal energy calculator handles arbitrary-order interactions - Hamiltonian Evolution: Build the corresponding quantum Hamiltonian based on the given couplings and run Trotterised time evolution with PennyLane's lightning qubit simulator
- Coarse Graining: Optionally use local updates on chosen subgroups of spins to scale proposals
- Constraining: Implementation of hard and soft constraints for a given model
Installation
Install the latest release from PyPI (requires Python 3.13+):
pip install qemcmc
From source
The example notebooks live in this repo, not the published package. To run them or to develop QeMCMC, clone the repo and install with uv:
cd QeMCMC
uv sync
uv sync creates a local environment .venv and installs the locked dependencies from pyproject.toml and uv.lock.
License
Distributed under the MIT License. See LICENSE for more information.
Authors
This project was created and maintained by Stuart Ferguson & Feroz Hassan.
For questions, suggestions, or collaboration, please feel free to contact the authors:
Acknowledgements
- pafloxy/quMCMC for the foundational code.
- Quantum-enhanced Markov Chain Monte Carlo by David Layden et al.
- Quantum-enhanced MCMC for systems larger than your Quantum Computer by S. Ferguson and P. Wallden.
Project details
Release history Release notifications | RSS feed
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 qemcmc-0.3.0.tar.gz.
File metadata
- Download URL: qemcmc-0.3.0.tar.gz
- Upload date:
- Size: 7.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
64c2e6862376271ef1c7f923ba03a73de419f405e975068c5189ad85dc6aa73f
|
|
| MD5 |
3c9c58bc08c997a79e68fcfc64108f26
|
|
| BLAKE2b-256 |
bd1ed5cf4a32c16b71dc9729fedcf5e59601603295331188fe2f84b7307b85d4
|
Provenance
The following attestation bundles were made for qemcmc-0.3.0.tar.gz:
Publisher:
publish.yaml on Stuartferguson00/QeMCMC
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qemcmc-0.3.0.tar.gz -
Subject digest:
64c2e6862376271ef1c7f923ba03a73de419f405e975068c5189ad85dc6aa73f - Sigstore transparency entry: 1624882208
- Sigstore integration time:
-
Permalink:
Stuartferguson00/QeMCMC@f137fb2d8cb539b219971ad25a398ee8375bf2f1 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/Stuartferguson00
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@f137fb2d8cb539b219971ad25a398ee8375bf2f1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file qemcmc-0.3.0-py3-none-any.whl.
File metadata
- Download URL: qemcmc-0.3.0-py3-none-any.whl
- Upload date:
- Size: 35.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bfaabbff098ebee80bda16c3d148e3db3d5754dd9183f4c0b3dd42c216bad920
|
|
| MD5 |
4cdf7e4a0068e922298d94bbf0265a4d
|
|
| BLAKE2b-256 |
d40f2ddb365a12951246458cef788d33492fe059cb0593abcc467a1e88108ad4
|
Provenance
The following attestation bundles were made for qemcmc-0.3.0-py3-none-any.whl:
Publisher:
publish.yaml on Stuartferguson00/QeMCMC
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qemcmc-0.3.0-py3-none-any.whl -
Subject digest:
bfaabbff098ebee80bda16c3d148e3db3d5754dd9183f4c0b3dd42c216bad920 - Sigstore transparency entry: 1624882250
- Sigstore integration time:
-
Permalink:
Stuartferguson00/QeMCMC@f137fb2d8cb539b219971ad25a398ee8375bf2f1 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/Stuartferguson00
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@f137fb2d8cb539b219971ad25a398ee8375bf2f1 -
Trigger Event:
push
-
Statement type: