qiskit-experiments icon indicating copy to clipboard operation
qiskit-experiments copied to clipboard

Cleaner specification for RB experiments

Open itoko opened this issue 2 years ago • 2 comments

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. -> #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.
    • Pros: Users can clearly see what they have interleaved, Simpler code.
    • Cons: Nothing as long users can define custom Clifford pulse gates easily. -> #1032

itoko avatar Jan 31 '23 07:01 itoko

CLA assistant check
All committers have signed the CLA.

CLAassistant avatar Jul 18 '23 13:07 CLAassistant

Superseded by #1288

itoko avatar Oct 17 '23 12:10 itoko