Skip to content

Repository files navigation

MCMit

Mid-circuit Measurement Error Mitigation

Repository structure

Path What it is
applications/ The paper's benchmark circuits: constant-depth GHZ, long-range CNOT, teleportation, qubit reuse
backends/ QPU/simulator backend definitions and calibration data
compiler/branching/ Stochastic branching (§7.3)
compiler/decoding/ Measurement hardening — parity checks, repetition codes (§7.2)
compiler/removal/ Static MCM elimination (§7.1), forked from pcm-ccop-dc-pass
qubit_state_discrimination/ MCMit-CNN / MCMit-T discriminators and the HERQULES/QubiCML/baseline comparisons (§6, §8.3)
branch_instruction/ The FPGA controller for branch_reduce_fproc (§5), forked from QubiC
lattice-sim/ The QEC simulator behind Fig. 3 and Fig. 13 (§3.3, §8.5)
evaluation/ Runnable per-figure evaluation drivers, plus evaluation/motivation/MECH/ for Fig. 2 (§3.2)
results/ Every figure's CSV data, in one place
plotting/ The remaining top-level plotting scripts (Fig. 10, 11, 12)

Dependencies

MCMit's own code (applications/, backends/, compiler/, evaluation/, plotting/) needs:

  • Qiskit (qiskit, qiskit-aer, qiskit-ibm-runtime) — circuits, simulation, hardware access
  • mthree — Qiskit M3 readout calibration, used by stochastic branching and GHZ evaluation
  • NumPy, pandas, NetworkX, matplotlib, seaborn — numerics, the DAG compiler pass, plotting

Pinned in requirements.txt: pip install -r requirements.txt.

Each vendored subproject pins its own dependencies separately, since they're independent tools with their own environments: lattice-sim/requirements.txt, qubit_state_discrimination/requirements.txt, evaluation/motivation/MECH/requirements.txt, branch_instruction/qubic-software/pyproject.toml.

External tools

MCMit builds on several external tools, either vendored with attribution or reproduced as evaluation baselines. Each has its own README with setup and reproduction details.

Tool What it is How MCMit uses it
lattice-sim (lattice-sim/) Independent QEC simulator Produces Fig. 3 and Fig. 13's surface-code logical-error-rate data (§3.3, §8.5); we added the MCM-latency sweep scripts and presets on top. Vendored with full commit history.
MECH (evaluation/motivation/MECH/) DQC chiplet compiler Produces Fig. 2's sensitivity analysis (§3.2) via its own notebook, unmodified; we added a CSV-export script alongside it.
HERQULES (qubit_state_discrimination/) Matched-filter + FNN qubit-state discriminator Reproduced as MCMit's primary discriminator baseline throughout §6/§8.3.
QubiC (branch_instruction/) Open-source FPGA-based QPU control framework Forked and extended with the branch_reduce_fproc constant-latency multi-qubit branch instruction (§5).
pcm-ccop-dc-pass (compiler/removal/) Quantum-constant-propagation MCM-elimination compiler pass Forked and extended with multi-qubit classical-control-logic simplification (§7.1).

References

About

MCMit: Mid-circuit Measurement Error Mitigation

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages