Skip to content

🚸 Run individual equivalence checkers #146

@burgholzer

Description

@burgholzer

What's the problem this feature will solve?

At the moment, the public verify and verify_compilation methods per default automatically orchestrate a combination of all available equivalence checkers in order to provide an automated black-box solution.
However, for academic purposes and reproducibility, it might be great to only run a single equivalence checker.
While this is possible right now by appropriately setting the run_*_checker configuration options, this might not be intuitive to users and is not very well reflected in the documentation.

Describe the solution you'd like

In order to provide more transparency and better usability, it should be possible to select an individual method to be run by setting a single option. In the simplest case, this amounts to creating a new Enum Method which might feature the following values for now:

  • auto: the default as used now. orchestrates all different checkers.
  • alternating: the alternating checker
  • construction: the construction checker
  • simulation: only run simulations
  • zx: the ZX checker

Regarding the interface, the Configuration:: Execution struct can take an additional method member and the verify functions take an additional keyword argument method.

Internally, this merely overrides the run_*_checker configuration settings.

As a result, the documentation of the individual checkers can be extended with a simple example of how to use them.

Further details

See the conversation at #167 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationgood first issueGood for newcomersusabilityAnything related to usability

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions