Modularize error mitigation techniques #2394
Replies: 6 comments
-
Sharing a few ideas here which I have come across in working on other issues:
|
Beta Was this translation helpful? Give feedback.
-
Thanks for the very nice comments @natestemen @jordandsullivan. We should gauge how to fold this approach in a way that doesn't make categorization in the way of usability. If there was a way to implement this more as "tagging" rather than re-classifying functions, maybe I would like it more. That said, really happy to see this move forward as it's important also for composing techniques, #2288. |
Beta Was this translation helpful? Give feedback.
-
Another example that I think wouldn't risk breaking compatibility would be these serial_executor and batched_executor which live in test_pec, but are used in many tests elsewhere and appear to be useful in calling using PEC and DDD more generally. These functions could be taken out of tests and put in a utilities module, or added as perhaps even added as class methods onto |
Beta Was this translation helpful? Give feedback.
-
Possibility of taking extrapolate functions out into their own module. |
Beta Was this translation helpful? Give feedback.
-
Converting this to a discussion. We will create a new issue for a proof of concept of this modularization on one of the techniques (e.g. ZNE) with specific use cases in mind. |
Beta Was this translation helpful? Give feedback.
-
This is now implemented for ZNE, PEC, and DDD. We can continue to iterate as we get feedback and use these features, but will close this for now. |
Beta Was this translation helpful? Give feedback.
-
Idea
Many quantum error mitigation (QEM) techniques take place in two general phases.
Ideally, each technique in Mitiq should have a function available for each of these steps that authors can then use to both better understand what's happening, and hack on these techniques.
Example
Here's what this could look like. Ideally all techniques will have the same interface so it's easy to hot swap techniques. function names subject to change, just brainstorming.
Beta Was this translation helpful? Give feedback.
All reactions