-
Notifications
You must be signed in to change notification settings - Fork 65
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 DMM notebook and Modifying SLM Mask #569
Conversation
a-corni
commented
Aug 11, 2023
•
edited
Loading
edited
- Fixes on DMM:
- Display the DetuningMaps as traps (like a RegisterLayout, because it is not enforced to have an atom at the coordinates at which there is a weight). Label 'traps' is added to plot (label "atoms" added for general registers)
- labels could only take integers, now it can handle QubitId.
- Addition to Sequence:
- Add possibility to draw detuning maps (2D or 3D). Can be drawn with/without register.
- Add possibility to draw local amplitude and detuning per group of qubits, that are represented on the register.
- Tutorials:
- Creates a tutorial explaining how to create a DetuningMap, a DMM channel, and how to modulate a detuning map in a Schedule.
- Modifies the tutorial on state preparation with the SLM Mask to show difference between XY and Ising mode.
- Updates "Bayesan Optimisation for AFM state preparation" and "Building 1D Rydberg Crystals" to take into account changes on Register (and make fix since "Simulation" is deprecated in favour of QutipEmulator)
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
tutorials/advanced_features/State Preparation with the SLM Mask.ipynb
Outdated
Show resolved
Hide resolved
tutorials/advanced_features/State Preparation with the SLM Mask.ipynb
Outdated
Show resolved
Hide resolved
Everything looks good from an aesthetic point of view, I let you have a look. However, there seems to be an error in the simulation. I start looking into it. |
There was no issue with the code in the end, just the optimization had to be relaunched. It's now ready for review @HGSilveri |
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.
Looks like it's almost there :)
One question: how is print(seq)
looking with DMMs?
Aah I was thinking of tackling it in a new issue afterwards, but I guess it's good to see it now ;) |
As you wish, as long as we don't forget about it it's okay |
Of course, don't know how I missed that, sorry... |
Sounds cool ! |
Here is where I am at. I am wondering if I should not delete Detuned Delays for DMM channels (Have |
I was going to suggest that, I think that would be better indeed |
Yes, looks great :) |
All comments should be fixed now :) |
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.
Great job!
* Adding dmm config and modulation to sequence * Reverting changes for _SLMMask * Setting max_amp of dmm to zero * Fixing detection of virtual channels in Device * Reverting changes in serialization * Reverting SLM, modifying available_channels * deleting dmm of schedule if slm of xy, Fixing type * Add insert_slm_mask * fixing available_channels with slm * Special handling of samples from a DMM channel (#565) * Add `DetuningMap.get_qubit_weight_map()` * Define `_DMMSchedule.get_samples()` * Extract DMMSamples from a Sequence * Creating the `Traps` class * Eliminating the effects of the SLM mask * Use COORD_PRECISION in comparison * `Traps.coords` -> `Traps.sorted_coords` * Subclass `Traps` in `WeightMap` * Preserve effects of SLM mask in XY mode * Explicitly ask for labels in DetuningMap.draw() * Including slug in WeightMap * UTs for DetuningMap * Isort * Specialize pulse validation in DMM * Revamp test_dmm UTs * Formatting * Add support for legacy serializer * add in_ising * Add SLM pulse, ising, modif validate_channel * Add waiting_for_first_pulse, fixing mask time * Covering all code, modif after review * Add descr sequence, _config_detuning_map * Finishing UTs, fixing typos * Abstract representation support for new DMM features (#568) * Support for DMM channel serialization * WIP: Prepare for incoming updates to JSON schema * Add descr sequence, _config_detuning_map * Finishing UTs, fixing typos * de-/serializing det maps, adding schema, slug * Dev tests * Fixing doc --------- Co-authored-by: a_corni <[email protected]> * Testing detuning of unmasked qubits, del print * Enabling use of add with slm * Replacing Modulate_det_map by add_dmm_detuning * Updating schema * finalizing replacing of modulate_detp_map * finalizing replacing of modulate_det_map * Rephrasing doc, add OpAddDmmDet * Handle parametrized sequence, switching device and DMM, and serialize config_det_map as an operation (#576) * Add slug description * Handle DMM & parametrized/switch_device/MapReg * Modifying schema, fixing type * Moving to a store decoration * Storing config_det_map * Taking into account review comments * Delete seq_tools * Testing MappableRegister, strict conversion * Replace modulate_det_map by add_dmm_detuning * Adding DMM notebook and Modifying SLM Mask (#569) * adding dmm, draw to DetuningMap * Testing avoiding circular import * Refactoring to avoid circular imports * Fix broken UTs * Import sorting * Fixing plot DetuningMap * Serialization/Deserialization of DMM in device * Fixing typos * Testing DMM and DetuningMap * Fixing typo * adding xfails, fixing type * Remove DMM from devices and finish UTs * Take into account review comments * Add annotations * Error in Global and Local * Defining _DMMSchedule * Fixing nits * Fixing typo * Creating DMM notebook, modif SLM notebook * Taking into account review comments * Fixing type * Fix labels in reg_drawer, draw det_maps in seq * Fixing doc build, add draw_detuning_maps to docs * Separating register/det_maps drawing from channels * introducing get_qubit_data * Add drawing of quantities per qubit * Fixing for local pulses * Adding bounds to label * Drawing legend for local targetting * FIX sampling rate, QutipEmulator * Updating figures * Updating SLM Mask & local addressability notebook * Adding explanation text * Fixing type * Replace modulate_det_map by add_dmm_detuning * Replace modulate_det_map for add_dmm_detuning * Fixing tests * Revert changes to Bayesian optimization notebook * Fixing docs * clearing outputs * Deleting scaling in favor extending to draw reg * Placing legend in lower part of drawing * Updating figures * Relaunching bayesian optimisation * Taking into account review comments * Printing sequence with DMM * Adding subscript and indent * Defining __str__ for DMM --------- Co-authored-by: HGSilveri <[email protected]> --------- Co-authored-by: Henrique Silvério <[email protected]>