You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Dec 20, 2023. It is now read-only.
In general, equivalence checking instances can be easily generated using mqt.bench and/or Qiskit and/or QFR algorithms.
Any (high-level; algorithmic) circuit from mqt.bench can be transpiled using Qiskit (or tket or whatever) and the resulting circuit can be checked against the original high-level implementation.
Always make sure to include measurements in the original circuit description.
It would be nice to include some of the benchmark circuits used for DDSIM also here.
The more you can do in C++ (without resorting to QASM or Python), the better.
As for the size of the benchmarks: The current max in the DD package, without changing anything, is 128 qubits. Benchmarks that run in significantly less than a second are not interesting. The interesting runtimes are between 1s and 300s per benchmark. So careful selection is key. Otherwise running the evaluation once will take forever.
In all cases, make sure to fix a random seed wherever applicable so that results are reproducible (as much as possible).
The text was updated successfully, but these errors were encountered:
The task is to gather a representative set of benchmarks for QCEC and set up a corresponding benchmark suite.
This builds on #4
On the one hand, this means different equivalence checking approaches within QCEC. This should at least include:
DDConstructionChecker
DDAlternatingChecker
(with differentApplicationScheme
s, see https://qcec.readthedocs.io/en/latest/library/ApplicationScheme.html)DDSimulationChecker
All of these can be built from an
ec::EquivalenceCheckingManager
by passing the right configuration options (see https://qcec.readthedocs.io/en/latest/library/configuration/Execution.html). Just disable all but one checker. Also make sure to setparallel=false
. If you are up for it, you could try to resolve cda-tum/mqt-qcec#146. (not a must have)On the other hand, this means benchmark circuits.
As a baseline, the available circuits at https://github.com/cda-tum/qcec/tree/main/test/circuits can be used (see all tests in https://github.com/cda-tum/qcec/tree/main/test/legacy).
In general, equivalence checking instances can be easily generated using
mqt.bench
and/or Qiskit and/or QFR algorithms.Any (high-level; algorithmic) circuit from
mqt.bench
can be transpiled using Qiskit (or tket or whatever) and the resulting circuit can be checked against the original high-level implementation.Always make sure to include measurements in the original circuit description.
It would be nice to include some of the benchmark circuits used for DDSIM also here.
The more you can do in C++ (without resorting to QASM or Python), the better.
As for the size of the benchmarks: The current max in the DD package, without changing anything, is 128 qubits. Benchmarks that run in significantly less than a second are not interesting. The interesting runtimes are between 1s and 300s per benchmark. So careful selection is key. Otherwise running the evaluation once will take forever.
In all cases, make sure to fix a random seed wherever applicable so that results are reproducible (as much as possible).
The text was updated successfully, but these errors were encountered: