pasqal-io / Pulser

Library for pulse-level/analog control of neutral atom devices. Emulator with QuTiP.
Apache License 2.0
159 stars 57 forks source link

[Draft] Add error state simulation #671

Open a-corni opened 2 months ago

a-corni commented 2 months ago

After meeting with @HGSilveri and discussion with @LucasGitQ, it is suggested to drop the RydbergError as a Channel and rather implement it in SimConfig/NoiseModel:

a-corni commented 2 months ago

To be discussed:

HGSilveri commented 2 months ago
  • Should the keyword to enable noise in error state in SimConfig/NoiseModel be err_state or err_state_ising ?

To me, leakage would be the most adequate term.

LucasGitQ commented 2 months ago

For me it depends if it enables all noise or just the Rydberg decay.


De : Henrique Silvério @.> Envoyé : vendredi 5 avril 2024 13:59 À : pasqal-io/Pulser @.> Cc : Lucas Leclerc @.>; Mention @.> Objet : Re: [pasqal-io/Pulser] [Draft] Add error state simulation (PR #671)

To me, leakage would be the most adequate term.

— Reply to this email directly, view it on GitHubhttps://github.com/pasqal-io/Pulser/pull/671#issuecomment-2039618776, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ARDWYZFRNDGKFYXJAV4ATPLY32G2BAVCNFSM6AAAAABFVT6P3GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMZZGYYTQNZXGY. You are receiving this because you were mentioned.Message ID: @.***>

a-corni commented 2 months ago

For me it depends if it enables all noise or just the Rydberg decay. ____ De : Henrique Silvério @.> Envoyé : vendredi 5 avril 2024 13:59 À : pasqal-io/Pulser @.> Cc : Lucas Leclerc @.>; Mention @.> Objet : Re: [pasqal-io/Pulser] [Draft] Add error state simulation (PR #671) * Should the keyword to enable noise in error state in SimConfig/NoiseModel be err_state or err_state_ising ? To me, leakage would be the most adequate term. — Reply to this email directly, view it on GitHub<#671 (comment)>, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ARDWYZFRNDGKFYXJAV4ATPLY32G2BAVCNFSM6AAAAABFVT6P3GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMZZGYYTQNZXGY. You are receiving this because you were mentioned.Message ID: @.***>

This is a good question, in principle this extra state can be defined and used for noise simulation in whatever basis we are working in (XY/Ising).

a-corni commented 2 months ago

I am not 100% confident that I have covered everything, but almost everything is done (like 75%-ish). To be investigated:

a-corni commented 3 weeks ago

I have added all the changes I wanted to add to build_operator. I created a file operator.py to store the functions that enables the user to define easily projectors/combinations of projectors on 1 qutrit. I am not a big fan of the function build_1qubit_operator (nor its name), You tell me if it's very useful.