Closed AUTProgram closed 1 year ago
cool! Let me know if / when you want a review.
Bit of background on approach taken: when centre-of-mass motion is included in description of atomic dynamics, the probability of transition between different states (internal plus centre-of-mass motion) also depends on the motional part of the wavefunction. In particular, if the states are coupled by a spatially inhomogenous driving field, the frequency of the field can be tuned such that only a particular sideband is on resonance. In this case, the evolution breaks up into independent pairs of states that are coupled. The total probability of transition from internal ground state $|g \rangle$ to excited state $|e \rangle$ is then equal to the transition probability starting from some $|g \rangle |n$, averaged over the probability $P(n)$ that each particular Fock state $|n \rangle$ is occupied.
The calculation of total transition probability is thus split up into two parts, one to find the transition probability for all relevant $|g \rangle |n \rangle$ and the other to find the occupation probability for each Fock state. The former is independent of the particular probability distribution assumed for the Fock states and thus forms basis for LaserFlop
class, while the latter depends on the underlying motional distribution.
I was going to add more comments before opening up to review, but since you guys have already started, I have replied to your comments directly above
why the force push?
I wonder if we should move the physics bits (calculating probability distributions etc) into a separate module so it's easier to reuse (e.g. I suspect other fit models will need the thermal distribution). Suggestions for a name? physics
? quant_phy
?
Just to check: you mean module, rather than package? I agree we should move it to a separate module, but probably would not want to make a separate package just for this. I would say quant_phy
is better than physics
, but maybe we can find an even better name.
exactly
The core functionality has been implemented, but I will leave this as a draft request until I have cleaned up the code.