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

Adding Delay, ShiftPhase, and SetPhase instruction handling to pulse simulator #813

Merged
merged 5 commits into from
Jul 7, 2020

Conversation

DanPuzzuoli
Copy link
Contributor

@DanPuzzuoli DanPuzzuoli commented Jun 29, 2020

Summary

This handles the first part of issue #736 , adding support/testing for the Delay, ShiftPhase, and SetPhase instructions.

This PR depends on the changes in PR #811.

Details and comments

  • Delay didn't require any additional handling, as it doesn't enter the qobj.
  • A new test has been added to ensure delays are properly handled.
  • Handling of phases in the function experiment_to_structs in digest_pulse_qobj.py and the function chan_value in numeric_integrator.cpp has been changed from relative to absolute.
    • Previously the data structure storing phase changes stored relative changes, as the FrameChange instruction (which has been replaced by ShiftPhase) was relative to the current phase. However, SetPhase is an absolute instruction, and therefore requires absolute phase handling.
    • To handle the above point, experiment_to_structs has been changed to construct an array tracking absolute phases, and chan_value has been changed to look this value up (whereas previously it would add up all the relative phase changes).
    • Handling of the SetPhase instruction has been added to experiment_to_structs.
  • Several tests for SetPhase and ShiftPhase have been added.

@chriseclectic chriseclectic added this to the Aer 0.6 milestone Jun 30, 2020
@chriseclectic chriseclectic added the on hold Can not fix yet label Jun 30, 2020
@DanPuzzuoli DanPuzzuoli force-pushed the new-pulse-instructions2 branch 2 times, most recently from 64cf3c6 to b4c4d62 Compare July 1, 2020 15:06
@DanPuzzuoli DanPuzzuoli force-pushed the new-pulse-instructions2 branch from b4c4d62 to 72a1555 Compare July 6, 2020 22:33
@DanPuzzuoli DanPuzzuoli changed the title [WIP] Adding Delay, ShiftPhase, and SetPhase instruction handling to pulse simulator Adding Delay, ShiftPhase, and SetPhase instruction handling to pulse simulator Jul 6, 2020
@chriseclectic chriseclectic removed the on hold Can not fix yet label Jul 7, 2020
@DanPuzzuoli DanPuzzuoli force-pushed the new-pulse-instructions2 branch from 1100335 to 7651c2f Compare July 7, 2020 14:51
Copy link
Contributor

@vvilpas vvilpas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@chriseclectic chriseclectic merged commit edd3e29 into Qiskit:master Jul 7, 2020
@chriseclectic chriseclectic added the Changelog: New Feature Include in the Added section of the changelog label Aug 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changelog: New Feature Include in the Added section of the changelog
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants