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

Cleaner specification for RB experiments #1030

Closed
wants to merge 3 commits into from

Conversation

itoko
Copy link
Contributor

@itoko itoko commented Jan 31, 2023

This commit introduces the following API breaking changes that make the specification of StandardRB and InterleavedRB simpler and clearer.

  • Make 2Q RB physical qubits direction aware
    This change allows users to be able to benchmark one direction of 2q-gate, e.g. cx(2, 1), by StandardRB. That means the RB circuits contains only cx(2, 1) if qubits=(2, 1) is supplied. Previously, if the backend supports both cx(1, 2) and cx(2, 1), the circuits may contains both of them, and the mix of them were benchmarked.
    • Pros: Faster circuit generation even for backends with non-bidirectional coupling graph by avoiding transpilation of full circuits, e.g. IBM Quantum processors with ECRGates.
    • Cons: Nothing as long users can define custom Clifford pulse gates easily. -> Better interface for RB with pulse gates #1032 Interleaved 2q-gate have to be always defined in the direction of basis 2q-gate of the device. If the device support only cx(2, 1) and if you want to interleave a custom cx(1, 2) pulse gate, you need to define a custom gate with inverted cx (control and target are swapped) as its definition and add its calibration (pulse schedule) onto qubits (2, 1).
  • Change InterleavedRB to accept only basis gates for interleaved_element
    This change requires users to decompose interleaved_element before constructing an InterleavedRB experiment. This should not be demanding because they must know what gate (or sequence of gates) are actually interleaved and characterized.

@itoko itoko added this to the Release 0.5 milestone Jan 31, 2023
@itoko itoko requested review from chriseclectic and removed request for gadial January 31, 2023 15:40
@itoko itoko removed this from the Release 0.5 milestone Mar 17, 2023
@coruscating coruscating added this to the Release 0.6 milestone Mar 28, 2023
@coruscating coruscating removed this from the Release 0.6 milestone Jun 13, 2023
@CLAassistant
Copy link

CLAassistant commented Jul 18, 2023

CLA assistant check
All committers have signed the CLA.

@itoko itoko added the Changelog: API Change Include in the "Changed" section of the changelog label Sep 26, 2023
@itoko itoko added the on hold On hold until something else is done. label Oct 17, 2023
@itoko
Copy link
Contributor Author

itoko commented Oct 17, 2023

Superseded by #1288

@itoko itoko closed this Aug 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changelog: API Change Include in the "Changed" section of the changelog on hold On hold until something else is done.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants