-
Notifications
You must be signed in to change notification settings - Fork 21
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
[Refactoring] [Testing] [Feature] NoiseHandler #591
Conversation
Co-authored-by: RolandMacDoland <[email protected]>
Co-authored-by: RolandMacDoland <[email protected]>
… into cm/noise_new_interface
Yes, I just added a parameterized test for this in |
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.
Very nice @chMoussa, this looks much cleaner :)
I did not go into the full details of the code, let me know if there is something specific that you would like to discuss. But in general, this interface has my approval.
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.
Thanks @chMoussa. Sorry for being a pain but I think we still have too many types that makes the whole implementation difficult to follow. Ideally, I think we can get away with max two types. Also, would it make sense to turn the NoiseHandler
into a pydantic model for all the checking ? It might also help in serialization. Just a suggestion.
@RolandMacDoland, I followed your suggestions. Now we only have the |
Supersedes #584 and solves #583 (besides plotting). We introduce a
NoiseHandler
class containing information about the noise. For digital noise, this means now that we can do a conversion inconvert_ops
to the right class in Pyq. @jpmoutinho also proposed to separate noise protocol types into Analog, Digital, and Readout (given that a same protocol name may be available in different settings such as depolarizing).Note that a substantial harmonisation of naming may be needed between different backend (Readout is basically called SPAM in Pulser).
Todos:
Noise
class into theNoiseHandler
class to allow multiple combination of noise protocols.DigitalNoise
in blocks.