-
Notifications
You must be signed in to change notification settings - Fork 0
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
[WIP] Restless experiments data processing #4
base: main
Are you sure you want to change the base?
Conversation
…he default data processor
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is looking good. Can you setup an extra test that uses a restless simulator to produce counts for an experiment so that we can create an end-to-end test?
Co-authored-by: Daniel J. Egger <[email protected]>
Co-authored-by: Daniel J. Egger <[email protected]>
Co-authored-by: Daniel J. Egger <[email protected]>
…nts into RestlessDragCal
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good. We must also document the arguments that get_processor
needs to extract from the metadata in its docstring.
Co-authored-by: Daniel J. Egger <[email protected]>
Co-authored-by: Daniel J. Egger <[email protected]>
Co-authored-by: Daniel J. Egger <[email protected]>
Co-authored-by: Daniel J. Egger <[email protected]>
Co-authored-by: Daniel J. Egger <[email protected]>
Co-authored-by: Daniel J. Egger <[email protected]>
Co-authored-by: Daniel J. Egger <[email protected]>
Co-authored-by: Daniel J. Egger <[email protected]>
ToDo:
Summary
This PR implements the new data processing nodes
RestlessNode
andRestlessToCounts
. These allow users to perform and analyze experiments based on restless measurements (without qubit reset) to significantly speed-up calibration experiments compared to standard experiments based on active reset, see https://arxiv.org/pdf/2202.06981.pdf.Details and comments
Certain experiments, e.g., calibration experiments or Randomized Benchmarking, can be run in a restless setting.
In a restless experiment the qubits are not reset after a measurement and the subsequent circuit is run after a short delay of, e.g., 1 us. Consequently, the initial state of a circuit is either |0> or |1> depending on the outcome of the previous circuit. This makes the post-processing of the single measurement outcomes of each circuit necessary which is done by the new data processing nodes introduced in this PR. Crucially, restless experiments provide a fast alternative to several characterization and calibration tasks based on active reset.
The following run options define a restless experiment:
rep_delay
to a small value, e.g. 1 us.init_qubits=False
.memory=True
to ensure that the single measurement shots are returned. This is needed for post-processing.meas_level=2
.Restless experiments will automatically be post-processed by the new restless nodes.
Example
We can define a restless
RoughDrag
experiment by specifying the restless run options: