You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jul 24, 2024. It is now read-only.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
As optional argument, alt_spacings can be provided to change the default [0.5 0.5 0] (for a 2-pulse sequence), which staggers the DD sequence with respect to the default spacings values [0.25 0.5 0.25]
I'm planning to use this functionality in experiments, so I'm taking a look. I tested some instances of circuit generation and I think it's looking good!
A couple of things that maybe you can clarify based on the following example:
I'm finding unexpected small delays in the sequence.
Like the 16dt and 12dt delays in the picture. Is there a way to remove them and have them in the main delay parts?
Something is breaking the timeline_drawer (which is quite useful when looking at DD sequences. I don't know if this is caused by the staggered DD pass or by something else in qiskit_ibm_provider but I thought I would flag it anyway
from qiskit.visualization import timeline_drawer
timeline_drawer(qc_dd)
Hi @miamico , thanks for trying this out! You raise good points, however, those limitations were not introduced by this PR.
On 1), that may be necessary due to backend constraints, i.e., the allowed resolution for the timing of pulses. You can set pulse_alignment if the backend has a different timing constraint than the default (16 dt).
In some cases, you can redistribute the 'extra' time by setting the extra_slack_distribution option to try setting where this difference is going to be added ('middle' or 'edges'), provided these constraints are still satisfied.
For 2), I suggest opening a separate issue to see if the timeline drawer can be made compatible with this version of the scheduler (at least for the case where circuits don't include control flow and timing is pre-determined, see also comment).
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes #539. Add the option to select two different sets of spacings between pulses, given the coupling map of a backend.
Details and comments
Extends #480 with the qiskit-terra implementation of staggered DD
Example usage:
As optional argument,
alt_spacings
can be provided to change the default[0.5 0.5 0]
(for a 2-pulse sequence), which staggers the DD sequence with respect to the defaultspacings
values[0.25 0.5 0.25]