MENOS
A quantum circuit simulation compiler and runtime. MENOS analyzes a circuit, estimates candidate execution strategies, chooses a plan, and runs it on the engine that fits the workload.
What is MENOS?
MENOS is a high-performance quantum circuit simulator built as a compiler and runtime system. Instead of pushing every circuit through one fixed algorithm, it:
- Analyzes the circuit (structure, entanglement, locality, what output you asked for),
- Estimates what each candidate execution strategy would cost,
- Plans by choosing the cheapest feasible strategy, and
- Executes that plan, monitoring it against your time budget and replanning if reality disagrees with the estimate.
It is also a Qiskit BackendV2 and EstimatorV2, so existing Qiskit code runs against it without modification.
Your first circuit
This is the complete program. It is an executable file in the repository's examples/ directory and is run by the test suite.
"""Bell state through the Qiskit BackendV2 adapter."""
from qiskit import QuantumCircuit
from menos.qiskit import MENOSBackend
qc = QuantumCircuit(2, 2)
qc.h(0)
qc.cx(0, 1)
qc.measure([0, 1], [0, 1])
backend = MENOSBackend()
result = backend.run(qc, shots=1000, seed_simulator=7).result()
counts = result.get_counts()
print(counts)
# A Bell pair only ever yields 00 or 11, and every shot is accounted for.
assert set(counts) <= {"00", "11"}
assert sum(counts.values()) == 1000Continue with Installation, or go straight to Your First Circuit.
Where to go next
| If you want to… | Read |
|---|---|
| Install MENOS and check that it works | Installation, Verify Installation |
| Run circuits from Qiskit | MENOSBackend, Running Jobs |
| Compute expectation values | Expectation Values, EstimatorV2 |
| Understand how a plan is chosen | How MENOS Executes, Cost Model |
| Use a GPU | CUDA Installation, CPU vs CUDA |
| Set a time or memory budget | Time Budgets, Memory Constraints |
| Look something up | Python API, Supported Gates |
| Fix a problem | Troubleshooting |
Status of this release
MENOS is at version 1.2.0 and supports Python 3.10 or newer. Phases 1 to 17 are complete, and Phase 18 adds native Windows (x64, MSVC, CPU only), with Windows wheels on PyPI. The source is on GitHub and the package is on PyPI. The verification suites run on Linux x86-64 and on Windows x64; see Supported Platforms for exactly what that means.
