Currently, Sequence.switch_device(strict=True) is unnecessarily rigid in some cases:
It requires the RydbergEOM configs match exactly between channels, which will become even more problematic now that the lightshift coefficients can be specified
It enforces matching between channel parameters that might not be relevant for the particular sequence being switched, eg.
bottom_detuning and total_bottom_detuning are enforced during reconstruction so there is no need to see if they match
The parameters that are required to match in eom_config depend on whether the amplitude of the pulses is high enough to make the limiting beam reach the maximum amplitude
It would be preferable to not fail unnecessarily and instead check that channel samples all match between the old and the new sequence.
Currently,
Sequence.switch_device(strict=True)
is unnecessarily rigid in some cases:RydbergEOM
configs match exactly between channels, which will become even more problematic now that the lightshift coefficients can be specifiedbottom_detuning
andtotal_bottom_detuning
are enforced during reconstruction so there is no need to see if they matcheom_config
depend on whether the amplitude of the pulses is high enough to make the limiting beam reach the maximum amplitudeIt would be preferable to not fail unnecessarily and instead check that channel samples all match between the old and the new sequence.