mqt.qcec
A tool for Quantum Circuit Equivalence Checking
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later; C++20 compiler needed only if building from source.
- 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 · maintenance · safety
MIT (permissive) — MIT license permits unrestricted use, modification, and distribution with minimal restrictions, making it suitable for both academic and commercial quantum computing work.
last release 2026-08-02 (12 days) · last repo commit 2026-08-14 · 117 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 127,957 downloads/mo, #11,725 on PyPI
Alternatives
Verify before relying
pip install mqt.qcec
from mqt import qcec
result = qcec.verify("circ1.qasm", "circ2.qasm")
print(result.equivalence)- 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
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 on it.
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
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.
Requires Python 3.10 or later; C++20 compiler needed only if building from source.
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)
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 packagesmqt.coretyping_extensionsnumpy |
| 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 |
| Classifiers | 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 |
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
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “quantum circuit equivalence checking”
- mqt.qcecVerifies whether two quantum circuits are functionally equivalent…
- samplomaticSamplomatic generates randomized variants of quantum circuits with…
- pytketPytket is a Python interface to TKET, a quantum computing toolkit and…
Give your agent the search over MCP, or paste the wish link into any chat.
More Electronic Design Automation (EDA) packages
Parses and elaborates SystemRDL 2.0 register description language into a traversable register model, enabling custom code generation for hardware register spaces.
Install it if you need to parse SystemRDL files or build custom register generators.
Tests whether a graph is planar, computes planar embeddings, draws planar graphs as ASCII art, and isolates forbidden subgraphs using algorithms from the Edge Addition Planarity Suite.
cocotb is a Python framework for writing testbenches that simulate and verify VHDL and Verilog hardware designs through coroutine-based cosimulation.
pyslang provides Python bindings to parse, analyze, and elaborate SystemVerilog code, exposing the underlying slang compiler's syntax tree and evaluation capabilities for programmatic inspection and manipulation.
Converts between SystemRDL register descriptions and IP-XACT XML format, enabling import and export workflows for hardware register modeling.
KLayout is a Python package for layout viewing, editing, and scripting in electronic design automation (EDA) workflows, providing programmatic access to design manipulation and analysis.
See also qiskit · samplomatic · cirq · cirq-core · sinter · cirq-google · qiskit-connector · PyMatching · zhinst-timing-models · qutip