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

Selecting schedules and slice measurements in multidimensional QUA programs #6

Open
nulinspiratie opened this issue May 21, 2024 · 0 comments

Comments

@nulinspiratie
Copy link
Contributor

nulinspiratie commented May 21, 2024

When a QUA program contains an N-dimensional loop, each N-dimensional coordinate has its own Qiskit Pulse schedule. Similarly, the simulated results are also N-dimensional.
We can only visualize a single Qiskit Pulse Schedule (i.e. 0-dimensional) and a results array that is at most 2-dimensional (e.g. as a heat map).

The dimensionality of the outputs can be reduced by adding sliders to select a specific coordinate along an axis, as shown in the image below
image

Implementation details

  • Plotly Dash should be used to create the necessary sliders and visualization
  • The visualizations of the pulse schedules and simulation results can plotted using either Plotly or Matplotlib.
  • Each of the N axes in an N-dimensional array should have its own slider, which is initially set to the first value
    • By changing the value of the slider, a specific coordinate is selected along this axis
    • The sliders should be shared by both the pulse schedule and the simulation results
  • Each slider has a checkbox next to it that has the property "sweep"
    • These checkboxes indicate which axes should be selected for plotting the results
    • Initially the first two sweep axes are selected
  • The results should only render if one (1D line plot) or two (2D heat map) checkboxes are ticked

Acceptance criteria

QUA programs with 1 to 3 sweep axes should be tested

  • For each of the three programs, there should be a corresponding number of sliders, one for each sweep axis
  • Upon varying each of the sliders, the visualized pulse schedule should change correspondingly to the selected coordinates
  • The visualized simulation results should only change if the slider that does not have a checkbox (if any) is varied.
  • The visualized simulation results should be a 1D line plot if only a single checkbox is ticked, and a 2D heat map if two checkboxes are ticked. The visualized results should match the selected coordinates and sweep axes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant