pasqal-io / Pulser

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

Adding effective channel noises to digital basis #496

Closed a-corni closed 2 months ago

a-corni commented 1 year ago

Currently, effective channel noises are implemented only for the Rydberg basis. A NotImplementedError is raised when a simulation is ran with a Simconfig having detuning or dephasing noise. Implementing this feature would have an impact on simresults: the reduction of a density matrix to a basis is not implemented and cannot be tested because of the fact that no simulation can be performed with dimensions 3. This should be implemented using a partial_trace

Varda-star commented 1 year ago

The idea is it to build effective channels on 3 dimensions then reduce it on the basis of interest'either rydberg/digital) using the partial trace? What would be the interest to build effective channels using the digital basis?

HGSilveri commented 1 year ago

Yes, basically because it can be interesting to see how noise affects the results in digital mode.

Aaron-Robertson commented 1 year ago

This one looks enjoyable! I'm giving it a shot, and expect a draft PR today. I'll likely ask for guidance at that point

HGSilveri commented 1 year ago

@Aaron-Robertson awesome, looking forward to it!

Aaron-Robertson commented 1 year ago

I'm getting there @HGSilveri! It's been a more intense learning experience than anticipated 🤣 but I should actually have a draft today!

HGSilveri commented 1 year ago

Let me add a bit more clarification here. The objective is to generally run simulations with effective noise added to the system. Right now, this is only supported for the "ground-rydberg" basis, though we could envision it being extended to the "digital" basis relatively easily. However, in the "all" basis, the state of each atom in our system is actually described by a three-level system (aka a qutrit), which means that the collapse operators that we have for qubits need to be extended to qutrits. This is the crux of the problem, as we don't know exactly what this entails. Once we know how to do this extension, it should "just" be a matter of constructing the collapse operators depending on the basis. So, this requires some preparation before the implementation. In particular, it requires figuring out what are the Kraus operators for simultaneous dephasing and/or depolarization on a qutrit combining the ground-rydberg and digital basis.

HGSilveri commented 1 year ago

Most of the work on this has already been done in PR #530. That PR has since been closed due to prolonged inactivity, but whoever picks this up in the future can base themselves on the work already done there.