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

Internally compile relative phases to virtual z #1157

Open
3 tasks
alecandido opened this issue Feb 25, 2025 · 0 comments
Open
3 tasks

Internally compile relative phases to virtual z #1157

alecandido opened this issue Feb 25, 2025 · 0 comments

Comments

@alecandido
Copy link
Member

The relative phase and virtual z representation are equivalent, through a simple mapping. However, they might be convenient for different reasons

  • the VirtualZ objects avoids explicitly coupling pulses to preceding/subsequent pulses, pushing this to the driver implementation
  • the Pulse.relative_phase is convenient to sweep, since it would avoid sweeping two VirtualZ objects

While it can be meaningful keeping both at an interface level, it is inconvenient to require all drivers to implement both.

Furthermore, VirtualZ are more suitable for hardware realization, since they map directly to frame rotations, which can be handled adjusting suitable NCO parameters.

Thus, it would be helpful to process the sequence before passing it down to the drivers, in order to

  • convert all .relative_phase != 0 into VirtualZ operations
  • propagating all sweepers on relative phases into sweeps of the respective VirtualZ
  • possibly merging subsequent VirtualZ into unique once (unless swept by multiple independent sweepers)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant