Skip to main content

LiDMaS+ logo

LiDMaS+ is an open-source CLI toolkit for reproducible quantum error-correction simulation, decoder benchmarking, and hardware-to-decoder replay. This exists to make QEC experiments reproducible, scriptable, and directly comparable across codes, decoders, and hardware data pipelines.

Current coverage:

  • Correction code engines: Surface, CSS family (including custom CSS specs/matrices, repetition, and Shor), and LDPC.
  • GKP support: Available in current CLI flows as hybrid/native Surface workflows (--mode=hybrid and --mode=gkp), i.e., CV/GKP behavior integrated into Surface-mode experiments.
  • Decoders: mwpm, uf, bp, neural_mwpm, and stub.
  • Targeted hardware providers: IBM Quantum (live superconducting telemetry), Rigetti/Ankaa workflows (replay), and Xanadu datasets (Aurora/QCA/GKP replay).
  • Quantum software stacks: Qiskit IBM Runtime, PennyLane, Qiskit, Cirq, and planned Qibo/Qibolab integration.

It provides:

  • a unified CLI for running simulation and replay workflows,
  • deterministic runs with explicit seed control,
  • reusable examples for thresholds, replay, and analysis outputs.

If you need the full technical depth, use the published docs

Statement of Need

Quantum error-correction studies are often hard to reproduce across teams because workflows, decoder settings, and data formats vary across scripts and hardware sources.

LiDMaS+ addresses this by giving researchers and engineers a single CLI and repeatable workflow surface for:

  • deterministic simulation runs,
  • consistent decoder comparison,
  • hardware-to-decoder replay and artifact generation.

Model-Exact Scope

Let a run scope be

S ∈ 𝒮, S = (C, D, M, Θ, σ, I, V)

where:

  • C: code family/configuration,
  • D: decoder set,
  • M: execution mode,
  • Θ: algorithm/hyperparameter settings,
  • σ: seed and stochastic controls,
  • I: input stream or dataset identity,
  • V: executable/version identity.

Define the run key as:

K(S) = H(ser(S))

for a canonical serializer ser and collision-resistant hash H. LiDMaS stores K(S) with each result artifact.

Proposition: ∀ S₁,S₂ ∈ 𝒮, S₁ ≠ S₂ ⇒ Pr[K(S₁) ≠ K(S₂)] ≥ 1 − ε for negligible ε.

So, except with negligible probability, artifacts from S₁ and S₂ are scope-distinct.

Proof sketch:

  1. S₁ ≠ S₂ ⇒ ser(S₁) ≠ ser(S₂) (canonical serialization is injective on scope tuples).
  2. ∀ x ≠ y, Pr[H(x)=H(y)] ≤ ε by collision resistance.
  3. Substitute x=ser(S₁), y=ser(S₂): Pr[K(S₁)=K(S₂)] ≤ ε, hence Pr[K(S₁)≠K(S₂)] ≥ 1−ε.

Design-to-Result Workflow

Let experiment design be E = (C, D, 𝒩, T, σ).

Define scoped execution and outputs as: S = (E, M, Θ, I, V), K = H(ser(S)), R = Φ(S), A = (K, R, μ).

Pipeline: E →[encode in CLI] S →[Φ (simulate/replay)] R →[persist with K] A →[analyze] Δ →[rerun with S] R′ →[‖R − R′‖ ≤ τ] validated results

Step map:

  1. Specify E.
  2. Encode S in lidmas ... arguments.
  3. Execute Φ in the selected mode.
  4. Persist A=(K,R,μ).
  5. Compute comparison/analysis outputs Δ.
  6. Re-run to get R′ and check ‖R − R′‖ ≤ τ.
  7. Promote validated artifacts to reports/plots/paper bundles.

LiDMaS+ UI preview (active development)

UI status: under active development. For stable workflows today, use the CLI (lidmas) below.

Getting Started

Prerequisites

  • C++20 compiler
  • CMake >= 3.16
  • Python 3.9+ (for PyPI install path and optional scripts)
  • Optional: OpenMP
  • Optional: CUDA toolkit (GPU sampling path)

Installation

Install from PyPI:

python -m pip install --upgrade lidmas

This installs the lidmas CLI so you can run LiDMaS+ commands directly from your shell.

Or build from source:

cmake -S . -B build
cmake --build build -j

Usage

Show available commands:

lidmas --help

Run a quick smoke check:

lidmas --smoke

Run from source build (without PyPI install):

./build/lidmas --help
./build/lidmas --smoke

For full examples and workflow guides:

Hardware Integrations

Mode Integration Company / Provider Quantum Software Stack
Live IBM superconducting stream polling IBM Quantum Qiskit IBM Runtime
Live (planned) Qibolab hardware backend integration Qibo/Qibolab self-hosted labs Qibo + Qibolab
Replay Ankaa superconducting replay stream Rigetti (Ankaa workflows) LiDMaS adapter stream (fixture/HDF5 replay)
Replay Xanadu Aurora/QCA/GKP dataset conversion + replay Xanadu Python converter + LiDMaS decoder_io_replay
Replay Simulator framework replay PennyLane / Qiskit / Cirq ecosystems PennyLane, Qiskit, Cirq

Hardware Integration examples and commands are documented here

Contributing

Bug reports, feature requests, and pull requests are welcome.

Citation

If you use LiDMaS+ in academic work, cite the software release used for your experiments (tag + commit hash).

Paper reference (paper_03):

paper_03 graphic

@misc{wayo2026unifiedhardwaretodecoderarchitecturehybrid,
  title={A Unified Hardware-to-Decoder Architecture for Hybrid Continuous-Variable and Discrete-Variable Quantum Error Correction in LiDMaS+},
  author={Dennis Delali Kwesi Wayo and Chinonso Onah and Leonardo Goliatt and Sven Groppe},
  year={2026},
  eprint={2604.15389},
  archivePrefix={arXiv},
  primaryClass={quant-ph},
  url={https://arxiv.org/abs/2604.15389}
}

License

This project is licensed under the MIT License.
See LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lidmas-1.2.2.tar.gz (5.0 MB view details)

Uploaded Source

Built Distributions

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

lidmas-1.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (468.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

lidmas-1.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (468.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

lidmas-1.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (468.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

lidmas-1.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (468.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

File details

Details for the file lidmas-1.2.2.tar.gz.

File metadata

  • Download URL: lidmas-1.2.2.tar.gz
  • Upload date:
  • Size: 5.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for lidmas-1.2.2.tar.gz
Algorithm Hash digest
SHA256 69778b4f15a98ac74d418a45db3165db99401cdf2e4366cadd10eb73175112cf
MD5 45deecd864582c145348df8cbe7efaea
BLAKE2b-256 3ef922d7408fa0bb8c8d65e1cf87fb9b5317397d035fcfa5f4160186300cecc3

See more details on using hashes here.

Provenance

The following attestation bundles were made for lidmas-1.2.2.tar.gz:

Publisher: pypi.yml on Gottesman-Software/lidmas_cpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lidmas-1.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lidmas-1.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9caa66a2f7df7195571534f6a36dccdc1ec6891ce8ee26403a48cbeae359b1ee
MD5 03faf092f24bd07f2db28bec1d2e3dc1
BLAKE2b-256 10235d19367b8ac094dddd3777d9e4fda34d5b689a467b155868579e5ccd9e79

See more details on using hashes here.

Provenance

The following attestation bundles were made for lidmas-1.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi.yml on Gottesman-Software/lidmas_cpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lidmas-1.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lidmas-1.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2bebcadd864e91d851ce3654b90c08133ebfa98dc70ad9f6d0ed613600c04896
MD5 39a96d37890ca2a814fb83fa816d5978
BLAKE2b-256 9b96d45f58fdc7f5d74a5c917ea4f9cfa0517f76b72d81653ec396c558f14b12

See more details on using hashes here.

Provenance

The following attestation bundles were made for lidmas-1.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi.yml on Gottesman-Software/lidmas_cpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lidmas-1.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lidmas-1.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 64785f311d5a2656dded4f43340263b20e3639dd09cea8a32cd73872f7073941
MD5 6038704c572ebf9ab59c06d4bb8be19a
BLAKE2b-256 eec6fa04746f773d8aa6cc05a818c5f12453ebf4d3c463729d89cc91712ef96e

See more details on using hashes here.

Provenance

The following attestation bundles were made for lidmas-1.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi.yml on Gottesman-Software/lidmas_cpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lidmas-1.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lidmas-1.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a47497ed6038f63a6e26c9369b788f7394089e005ea32afc9d50a68683e09f78
MD5 e34f7ba3dce33c2765f80e134a157300
BLAKE2b-256 187112d3c8368c5833139a1a75e4c705798eddb0b8f1ddb8a9dc74894135872d

See more details on using hashes here.

Provenance

The following attestation bundles were made for lidmas-1.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi.yml on Gottesman-Software/lidmas_cpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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