skillfed

mqt.qcec

A tool for Quantum Circuit Equivalence Checking

mqt-qcec v3.8.0 128.0K downloads/30d#11,725 on PyPI117
Permissive license MIT Active released

What it is and what it does

MQT QCEC is a quantum circuit equivalence checker built on the Munich Quantum Toolkit, designed to determine whether two quantum circuits produce the same computational result. It combines multiple verification strategies—decision-diagram construction, alternating decision-diagram approaches, simulation-based falsification, and ZX-calculus rewriting—coordinated in an automated flow that either proves equivalence or quickly identifies counterexamples. The tool accepts circuits as Qiskit QuantumCircuit objects or OpenQASM files and provides a Python-first API with a single-call `verify()` function.

Beyond basic equivalence checking, it handles compilation flow verification (including layout permutations and measurements), parameterized circuits with symbolic parameters, and partial equivalence for comparing measured output distributions while accounting for ancillary and garbage qubits. The core is implemented in C++20 with decision-diagram engines and a ZX backend, distributed as prebuilt wheels for Linux, macOS, and Windows. It depends on mqt.core, typing_extensions, and numpy.

Use it for:

  • Validate that a quantum circuit compiler or transpiler produced a functionally equivalent circuit after optimization or layout mapping.
  • Verify parameterized variational quantum algorithms by proving equivalence with symbolic parameters across different implementations.
  • Compare measured output distributions from two circuits to check partial equivalence when ancillary qubits or garbage qubits are present.
  • Test quantum circuit transformations and rewrites during development to ensure correctness before deployment.
  • Benchmark different circuit implementations to confirm they compute the same function before performance analysis.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Verifies whether two quantum circuits are functionally equivalent using decision-diagram construction, simulation-based falsification, ZX-calculus rewriting, and automated checking flows to prove equivalence or find counterexamples.

Yes. MQT QCEC is a specialized, actively maintained tool for a well-defined problem in quantum computing. It has no known vulnerabilities, permissive MIT licensing, prebuilt wheels that minimize install friction, and supports current Python versions (3.10–3.14). Install it if you need to verify quantum circuit equivalence, validate compilation flows, or test parameterized quantum algorithms.

Install

mqt-qcec on PyPI

pip

pip install mqt-qcec

uv

uv add mqt-qcec

poetry

poetry add mqt-qcec

Installing mqt.qcec

Before you install

Medium install friction due to C++20 compiled wheels, but prebuilt binaries are available for Linux, macOS, and Windows across multiple architectures. Active maintenance with a recent release (12 days old) and ongoing repository activity.

License in practice

MIT license permits unrestricted use, modification, and distribution with minimal restrictions, making it suitable for both academic and commercial quantum computing work.

Quickstart

pip install mqt.qcec
from mqt import qcec
result = qcec.verify("circ1.qasm", "circ2.qasm")
print(result.equivalence)

Requires Python 3.10 or later; C++20 compiler needed only if building from source.

Verify before relying

  • Performance characteristics (runtime, memory usage) for circuits of varying sizes and complexity
  • Detailed comparison of the four equivalence checking engines' relative strengths and trade-offs
  • Whether parameterized circuit support covers all symbolic parameter types and constraints
  • Compatibility and integration depth with Qiskit beyond basic QuantumCircuit passing

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.10)
Install friction medium — platform-specific wheel
Runtime dependencies 3 — mqt.core, typing_extensions, numpy
Maintenance actively maintained — 12 days since the last release
Last repo commit
First released
Downloads 127,957/month — #11,725 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: mqt_qcec-3.8.0-cp310-cp310-macosx_11_0_arm64.whl; mqt_qcec-3.8.0-cp310-cp310-macosx_11_0_x86_64.whl; mqt_qcec-3.8.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; mqt_qcec-3.8.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; mqt_qcec-3.8.0-cp310-cp310-win_amd64.whl; mqt_qcec-3.8.0-cp310-cp310-win_arm64.whl; mqt_qcec-3.8.0-cp311-cp311-macosx_11_0_arm64.whl; mqt_qcec-3.8.0-cp311-cp311-macosx_11_0_x86_64.whl; mqt_qcec-3.8.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; mqt_qcec-3.8.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; mqt_qcec-3.8.0-cp311-cp311-win_amd64.whl; mqt_qcec-3.8.0-cp311-cp311-win_arm64.whl; mqt_qcec-3.8.0-cp312-abi3-macosx_11_0_arm64.whl; mqt_qcec-3.8.0-cp312-abi3-macosx_11_0_x86_64.whl; mqt_qcec-3.8.0-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; mqt_qcec-3.8.0-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; mqt_qcec-3.8.0-cp312-abi3-win_amd64.whl; mqt_qcec-3.8.0-cp312-abi3-win_arm64.whl; mqt_qcec-3.8.0-cp314-cp314t-macosx_11_0_arm64.whl; mqt_qcec-3.8.0-cp314-cp314t-macosx_11_0_x86_64.whl

Keywords: MQT, quantum-computing, design-automation, equivalence-checking, verification

Development Status :: 5 - Production/StableIntended Audience :: Science/ResearchNatural Language :: EnglishOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxProgramming Language :: C++Programming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)Typing :: Typed

Tags

quantum circuit equivalence checkingverify quantum circuitscircuit verification toolquantum circuit comparisonequivalence checker quantumcircuit validationquantum circuit testing
quantum-computingverificationdesign-automation

More Electronic Design Automation (EDA) packages

Further reading