-
Notifications
You must be signed in to change notification settings - Fork 60
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
Support arbitrary phase-modulated pulses #688
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you want to add a property phase_modulation
or a method get_phase_modulation
to the Pulse
class, that would return the phase modulation as a waveform ?
What I'll do instead because I think it's more natural is to add something like that to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One typo found, other than it looks good to me !
Main changes: - Add option to switch the Sequence register (#684) - Support arbitrary phase-modulated pulses (#688) - Optionally skip JSON schema validation after serialization (#693) - Support for 3D registers and layouts in the abstract representation (#696) - Allow backends to mimic QPU validation locally (#685)
The ability to define a Pulse with an arbitrary phase modulation has been recurrently requested. This is a working proposition of how this features can be incorporated in the existing codebase with minimal disruption:
Pulse.ArbitraryPhase(amplitude: Waveform, phase: Waveform, ...)
: Instead of a detuning waveform (ie a frequency modulation), we take a phase waveform, which is then internally converted to a detuning waveform and a phase offset.Waveform
values whenever possible because in a phase waveform the values are not inrad/µs
.Sequence
drawing to show the phase modulation instead of the detuning: this is useful because users will likely want to see the phase waveform they gave toArbitraryPhase()
directly in the sequence (instead of it's detuning + phase offset equivalent)Pulse.ArbitraryPhase()
calls in the abstract representation