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.
Link to GitHub repo: https://github.com/Stuartferguson00/QeMCMC
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.
Release files for qemcmc 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| qemcmc-0.4.0.tar.gz | 7.5 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| qemcmc-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 7.5 MB
Release files / qemcmc-0.4.0.tar.gz
| Download URL | qemcmc-0.4.0.tar.gz |
|---|---|
| Size | 7.5 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5dff5b627c8ee99677552444f454c855011fab818972791fbab019c69a8e61a0
|
|
BLAKE2b-256 checksum How to use checksums |
bf899729b3e09fbd2b966bafc2ea1ca66c169739a3a97bf5196647766dfb900f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 4, 2026.
Transparency logRelease files / qemcmc-0.4.0-py3-none-any.whl
| Download URL | qemcmc-0.4.0-py3-none-any.whl |
|---|---|
| Size | 36.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5e2d748f86041abf69c6f9b579118a3bc7ebb48801c786d1721b833b113f636b
|
|
BLAKE2b-256 checksum How to use checksums |
074c83701b64eb69f758963f42df0670073da43a457aff4aa33178fb2fc57670
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 4, 2026.
Transparency log