Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🚸 Run individual equivalence checkers #146

Open
burgholzer opened this issue Sep 22, 2022 · 0 comments
Open

🚸 Run individual equivalence checkers #146

burgholzer opened this issue Sep 22, 2022 · 0 comments
Labels
documentation Improvements or additions to documentation good first issue Good for newcomers usability Anything related to usability

Comments

@burgholzer
Copy link
Member

burgholzer commented Sep 22, 2022

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)

@burgholzer burgholzer added documentation Improvements or additions to documentation usability Anything related to usability labels Sep 22, 2022
@burgholzer burgholzer self-assigned this Sep 22, 2022
@burgholzer burgholzer added the good first issue Good for newcomers label Sep 22, 2022
@burgholzer burgholzer removed their assignment Sep 22, 2022
MarlQ pushed a commit to MarlQ/qcec that referenced this issue Dec 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation good first issue Good for newcomers usability Anything related to usability
Projects
Status: Todo
Status: Todo
Development

No branches or pull requests

1 participant