Draft: Override device parameters in gate operations
Explanation of changes
I had the opportunity to enhance the flexibility of gate parameter adjustments by introducing the subsequent parameter as an argument. The updated function signature is as follows:
def make_sched(name,repetitions=1) :
sched = Schedule('test_sched',repetitions=repetitions)
sched.add(Reset(name))
sched.add(Measure(name,acq_index=0,acq_protocol=acq,pulse_amp=0.5))
sched.add(Reset(name))
sched.add(Measure(name,acq_index=1,acq_protocol=acq))
return sched
Motivation of changes
With this modification, I aim to provide users with a more convenient method to determine the optimal parameters for their gates and subsequently fix them for the entire experiment. This approach eliminates the need to manually compose an equivalent schedule containing pulses, resulting in a more user-friendly experience. It's important to note that, as of now, this feature is exclusively applicable to the Measure
gate but can readily be expanded to encompass any other gate.
Please consider this as an initial draft of the feature implementation.
Merge checklist
See also merge request guidelines
-
Merge request has been reviewed (in-depth by a knowledgeable contributor), and is approved by a project maintainer. -
New code is covered by unit tests (or N/A). -
New code is documented and docstrings use numpydoc format (or N/A). -
New functionality: considered making private instead of extending public API (or N/A). -
Public API changed: added @deprecated
and entry in deprecated code suggestions (or N/A). -
Newly added/adjusted documentation and docstrings render properly (or N/A). -
Pipeline fix or dependency update: post in #software-for-developers
channel to mergemain
back in or update local packages (or N/A). -
Tested on hardware (or N/A). -
CHANGELOG.md
andAUTHORS.md
have been updated (or N/A). -
Performance tests: if changes can affect performance, trigger CI manually and evaluate results (or N/A). -
Windows tests in CI pipeline pass (manually triggered by maintainers before merging). - Maintainers do not hit Auto-merge, we need to actively check as manual tests do not block pipeline
For reference, the issues workflow is described in the contribution guidelines.