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

✨ Option to generate mirror circuits for reliable benchmarking of devices #439

Open
burgholzer opened this issue Dec 3, 2024 · 0 comments
Labels
feature New feature or request mqt.bench Issues that affect mqt.bench python Pull requests that update Python code

Comments

@burgholzer
Copy link
Member

What's the problem this feature will solve?

When benchmarking the performance of quantum devices, it is always desirable to have a deterministic outcome of a benchmark that is efficient to verify.
While this is possible for algorithms such as Grover (has the desired entry been found), or Shor (does the result allows to factorize the integer), it is much harder in practice for all kinds of variational algorithms as these typically have a very continuous distribution of measurement outcomes that is hard to predict and verify.
Mirror circuits (https://arxiv.org/abs/2112.09853) have been proposed to address this.
They take a circuit and join it with its inverse so that any execution of the circuit is expected to yield the all-zero state $\ket{0\dots 0}$ with certainty.

Describe the solution you'd like

MQT Bench should offer the option to generate mirror circuits.
Constructing these circuits is fairly easy in code, so this shouldn't be too big of a deal.
Given how such circuits will be predominantly used for evaluating hardware, I believe it makes sense to only offer this option on the mapped level.

One should be careful that the resulting circuits are still valid and executable on the targeted device. One should also avoid to apply any further optimizations on the resulting mirror circuit as these could lead to the circuit collapsing to the empty circuit, which would defeat the whole purpose of constructing them.

@github-project-automation github-project-automation bot moved this to In Progress in MQT Applications Dec 3, 2024
@burgholzer burgholzer added python Pull requests that update Python code feature New feature or request mqt.bench Issues that affect mqt.bench labels Dec 3, 2024
@burgholzer burgholzer added this to MQT Dec 3, 2024
@github-project-automation github-project-automation bot moved this to In Progress in MQT Dec 3, 2024
@burgholzer burgholzer moved this from In Progress to Todo in MQT Dec 3, 2024
@burgholzer burgholzer moved this from In Progress to Todo in MQT Applications Dec 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request mqt.bench Issues that affect mqt.bench python Pull requests that update Python code
Projects
Status: Todo
Status: Todo
Development

No branches or pull requests

1 participant