Logical Injection & Decoding Modeling System
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=hybridand--mode=gkp), i.e., CV/GKP behavior integrated into Surface-mode experiments. - Decoders:
mwpm,uf,bp,neural_mwpm, andstub. - 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
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.
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:
Sā ā Sā ā ser(Sā) ā ser(Sā)(canonical serialization is injective on scope tuples).ā x ā y, Pr[H(x)=H(y)] ⤠εby collision resistance.- Substitute
x=ser(Sā), y=ser(Sā):Pr[K(Sā)=K(Sā)] ⤠ε, hencePr[K(Sā)ā K(Sā)] ā„ 1āε.
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:
- Specify
E. - Encode
Sinlidmas ...arguments. - Execute
Φin the selected mode. - Persist
A=(K,R,μ). - Compute comparison/analysis outputs
Ī. - Re-run to get
Rā²and checkāR ā Rā²ā ⤠Ļ. - Promote validated artifacts to reports/plots/paper bundles.
UI status: under active development. For stable workflows today, use the CLI (lidmas) below.
- C++20 compiler
- CMake >= 3.16
- Python 3.9+ (for PyPI install path and optional scripts)
- Optional: OpenMP
- Optional: CUDA toolkit (GPU sampling path)
Install from PyPI:
python -m pip install --upgrade lidmasThis 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 -jShow available commands:
lidmas --helpRun a quick smoke check:
lidmas --smokeRun from source build (without PyPI install):
./build/lidmas --help
./build/lidmas --smokeFor full examples and workflow guides:
| 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
Bug reports, feature requests, and pull requests are welcome.
- Contribution guide: CONTRIBUTING.md
- Code of conduct: CODE_OF_CONDUCT.md
- Security policy: SECURITY.md
If you use LiDMaS+ in academic work, cite the software release used for your experiments (tag + commit hash).
Paper reference (paper_03):
@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}
}This project is licensed under the MIT License.
See LICENSE.

