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

Introduce new benchmarks with ideal expectation values different from 1 #2005

Closed
andreamari opened this issue Sep 8, 2023 · 2 comments · Fixed by #2028
Closed

Introduce new benchmarks with ideal expectation values different from 1 #2005

andreamari opened this issue Sep 8, 2023 · 2 comments · Fixed by #2028
Assignees
Labels
benchmarks Tools for benchmarking error mitigation methods. feature-request A request for a feature, tool, or workflow in Mitiq.
Milestone

Comments

@andreamari
Copy link
Member

andreamari commented Sep 8, 2023

Issue Description

Most examples and most benchmarks in Mitiq are based on benchmark circuits whose ideal expectation value is 1.
For example:

def generate_rb_circuits(

Typically we test how good a QEM technique is, by checking how close a mitigated expectation value is to 1 (ideal result) compared to the noisy unmitigated result.

This is very convenient and intuitive. However, it is also useful to have more general benchmarks in which the expectation value can be any number in a continuous interval e.g.

$$ E_{\rm ideal} \in [-1, 1] $$

This would enable testing QEM techniques in more general scenarios, closer to real-world applications in which expectation values can take arbitrary values.

Proposed Solution

A possible way to achieve this is to introduce a new function for generating "rotated" RB circuits in which we
insert a $R_z(\theta)$ rotation in the middle of an RB circuit.
Something like:

$$ C(\theta) = G_n \dots G_{n/2 +1} R_z(\theta)G_{n/2} \dots G_2 G_1 $$

where $G_j$ are Clifford elements or Clifford gates.

This should generate expectation values which are sinusoidal functions of $\theta$, so something varying in with a continuous range of ideal expectation values.

At the same time since, up to factors of 2, we have $R_z(\theta) =cos(\theta) I + i \ sin(\theta) Z$, the rotated Clifford circuit $C(\theta)$ can be written as a linear combination of just two Clifford circuits and, therefore, it is still easy to classically simulate.

We are open to other proposals, please share alternative ideas in the comments below this issue.

Additional References

For similar tricks, but used in a different context, see https://arxiv.org/abs/2010.02538

If large scale near Clifford circuits are necessary, Qrack can be used as a fast classical simulator.

@andreamari andreamari added benchmarks Tools for benchmarking error mitigation methods. feature-request A request for a feature, tool, or workflow in Mitiq. labels Sep 8, 2023
@andreamari andreamari changed the title Introduce new benchmarks with ideal expectation values different from one Introduce new benchmarks with ideal expectation values different from 1 Sep 8, 2023
@nathanshammah nathanshammah added this to the 0.30.0 milestone Sep 15, 2023
@nathanshammah
Copy link
Member

@Misty-W do you think this can stay in the current milestone? It would be great to at least have a design path, based on @andreamari proposed solution, decided in this milestone.

@Misty-W
Copy link
Contributor

Misty-W commented Sep 23, 2023

@nathanshammah I’ll code up what I have in mind and push it on Monday. Remains to be seen how ZNE performs but if it’s good enough to show I’ll make a simple example just for explaining the new benchmark.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
benchmarks Tools for benchmarking error mitigation methods. feature-request A request for a feature, tool, or workflow in Mitiq.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants