|
| 1 | +--- |
| 2 | +title: "Resonance fluorescence" |
| 3 | +author: Li-Xun Cai |
| 4 | +date: 2025-01-27 # last update (keep this comment as a reminder) |
| 5 | + |
| 6 | +engine: julia |
| 7 | +--- |
| 8 | + |
| 9 | +Inspirations taken from [this QuTiP tutorial](https://nbviewer.org/urls/qutip.org/qutip-tutorials/tutorials-v5/lectures/Lecture-13-Resonance-flourescence.ipynb) by J. R. Johansson. |
| 10 | + |
| 11 | +In this tutorial, we demonstrate the following functionalities: |
| 12 | + |
| 13 | +- [`liouvillian`](https://qutip.org/QuantumToolbox.jl/stable/resources/api#QuantumToolbox.liouvillian) |
| 14 | +- [`mesolve`](https://qutip.org/QuantumToolbox.jl/stable/resources/api#QuantumToolbox.mesolve) |
| 15 | +- [`correlation_2op_1t`](https://qutip.org/QuantumToolbox.jl/stable/resources/api#QuantumToolbox.correlation_2op_1t) |
| 16 | +- [`spectrum_correlation_fft`](https://qutip.org/QuantumToolbox.jl/stable/resources/api#QuantumToolbox.spectrum_correlation_fft) |
| 17 | + |
| 18 | +with the example of resonance fluorescence in the weak field limit. We also adopt the convention $\hbar = 1$ throughout this tutorial. |
| 19 | + |
| 20 | +## Introduction |
| 21 | + |
| 22 | +Resonance fluorescence is the radiative behavior of a two-level atom driven by a resonant light mode in a coherent state (usually a monochromatic laser beam). The Hamiltonian $H$ is given by |
| 23 | + |
| 24 | +- $H_\text{a} = \frac{\omega_a}{2} \hat{\sigma}_z$ |
| 25 | +- $H_\text{drv} = \Omega \cos(\omega_L t) (\hat{\sigma}^{+} + \hat{\sigma}^{-})$ |
| 26 | + |
| 27 | +with |
| 28 | + |
| 29 | +- $\omega_a$: Frequency of the two-level atom |
| 30 | +- $\omega_L$: Frequency of the light field |
| 31 | +- $\Omega$: Field strength of the light field |
| 32 | +- $\hat{\sigma}_{x,y,z}$: Pauli matrices |
| 33 | +- $\hat{\sigma}^{\pm}$: Raising ($+$) and lowering ($-$) operators, equivalent to $|e\rangle\langle g|$ and $|g\rangle\langle e|$ respectively |
| 34 | + |
| 35 | +To simplify the problem, we consider the total Hamiltonian (in the rotating frame) |
| 36 | +$$ |
| 37 | +H^\text{rot} = U^\dagger H_\text{a} U + U^\dagger H_\text{drv} U -i U^\dagger \frac{d}{dt} U, |
| 38 | +$$ |
| 39 | +where the unitary operator is given by $U = e^{-i \omega_L t \cdot \hat{\sigma}_z}$. The third term of $H^\text{rot}$ is simply $-\frac{\omega_L}{2}\hat{\sigma}_z$, and the first and second terms are evaluated as: |
| 40 | + |
| 41 | +$$ |
| 42 | +U^\dagger H_\text{a} U = \frac{\omega_a}{2}\hat{\sigma}_z, |
| 43 | +$$ |
| 44 | +$$ |
| 45 | +U^\dagger H_\text{drv} U = \Omega \cos(\omega_L t) \Big[e^{i\omega_L t}\hat{\sigma}^{+} + e^{-i\omega_L t}\hat{\sigma}^{-}\Big]. |
| 46 | +$$ |
| 47 | + |
| 48 | +In the weak field limit, where $\Omega/\omega_L \ll 1$, we can drop the time-dependent part in the rotating frame through [rotating-wave approximation (RWA)](https://en.wikipedia.org/wiki/Rotating-wave_approximation). First, we expand $\cos(\omega_L t)$ to its exponential form, |
| 49 | +$$ |
| 50 | +\Omega \cos(\omega_L t) \Big[e^{i\omega_L t}\hat{\sigma}^{+} + e^{-i\omega_L t}\hat{\sigma}^{-}\Big] = \frac{\Omega}{2}\Big[(1 + e^{2i\omega_L t})\hat{\sigma}^{+} + (1 + e^{-2i\omega_L t})\hat{\sigma}^{-}\Big] |
| 51 | +$$ |
| 52 | +The time-dependent parts with frequency $2\omega_L$ are dropped, yielding |
| 53 | +$$ |
| 54 | +H^\text{rot} \simeq \frac{\omega_a}{2} \hat{\sigma}_z + \frac{\Omega}{2} \hat{\sigma}_x - \frac{\omega_L}{2} \hat{\sigma}_z = \frac{\Delta}{2} \hat{\sigma}_z + \frac{\Omega}{2} \hat{\sigma}_x |
| 55 | +$$ |
| 56 | +where $\Delta \equiv \omega_a - \omega_L$ is the detuning between the two-level atom and the driving light. In the realistic near-resonance case $\Delta \simeq 0$, characteristic of the radiative behaviour remains. Thus, for the following demonstration, we only consider the exact resonance $\Delta = 0$. |
| 57 | + |
| 58 | +### Dissipation dynamics |
| 59 | + |
| 60 | +We start by the interaction Hamiltonian between the thermal field and atom |
| 61 | +$$ |
| 62 | +\hat{H}_{\text{a}}^\text{int} = \sum_l \alpha_l \left( \hat{b}_l + \hat{b}_l^\dagger \right) \left( \hat{\sigma}^{-} + \hat{\sigma}^{+} \right) |
| 63 | +$$ |
| 64 | +where for the $l$-th mode |
| 65 | + |
| 66 | +- $\alpha_l$ is the coupling strength with the atom |
| 67 | +- $\hat{b}_l$ is the annihilation operator |
| 68 | + |
| 69 | +By applying [rotating wave approximation (RWA)](https://en.wikipedia.org/wiki/Rotating-wave_approximation) and following the standard procedure of the [Born-Markovian approximation](https://en.wikiversity.org/wiki/Open_Quantum_Systems/The_Quantum_Optical_Master_Equation), we obtain the atom dissipation rate $\gamma_0$. Consequently, the dynamics is described by the [Lindblad master equation](https://en.wikipedia.org/wiki/Lindbladian). |
| 70 | +$$ |
| 71 | +\mathcal{L} = \gamma_0 n(\omega_a, T) \mathcal{D}[\hat{\sigma}^{+}] + \gamma_0 [1 + n(\omega_a, T)] \mathcal{D}[\hat{\sigma}^{-}] |
| 72 | +$$ |
| 73 | + |
| 74 | +where |
| 75 | + |
| 76 | +- $n(\omega, T)$: Bose-Einstein distribution of the thermal field at temperature $T$ |
| 77 | +- $\mathcal{D}[\cdot]$: The [Lindblad dissipator](https://en.wikipedia.org/wiki/Lindbladian) (has exactly the same expression in the lab frame and the rotating frame) |
| 78 | + |
| 79 | +## Code Demonstration |
| 80 | + |
| 81 | +<!-- import QuantumToolbox: QuantumObjectEvolution, n_thermal, liouvillian, sigmap, sigmam, sigmax, |
| 82 | + sigmay, sigmaz, basis, mesolve, correlation_2op_1t, spectrum_correlation_fft --> |
| 83 | + |
| 84 | +```{julia} |
| 85 | +using QuantumToolbox |
| 86 | +import CairoMakie: Figure, Axis, @L_str, lines!, axislegend, display, ylims!, xlims! |
| 87 | +``` |
| 88 | + |
| 89 | +```{julia} |
| 90 | +Ω = 1 |
| 91 | +γ0 = 0.05 * Ω |
| 92 | +KT = 0 # thermal field at zero temperature |
| 93 | +
|
| 94 | +``` |
| 95 | + |
| 96 | +We define a function that returns the Liouvillian `SuperOperator` of the system. |
| 97 | +```{julia} |
| 98 | +function liouvillian_spec(_Ω, _γ0, _KT) |
| 99 | + H = _Ω/2 * sigmax() |
| 100 | + c_ops = [ |
| 101 | + √(_γ0 * n_thermal(_Ω, _KT)) * sigmap(), |
| 102 | + √(_γ0 * (1 + n_thermal(_Ω, _KT))) * sigmam(), |
| 103 | + ] |
| 104 | + return liouvillian(H, c_ops) |
| 105 | +end |
| 106 | +``` |
| 107 | + |
| 108 | +We first use [`mesolve`](https://qutip.org/QuantumToolbox.jl/stable/resources/api#QuantumToolbox.mesolve) to solve the master equation with several observables given in `e_ops`. |
| 109 | +```{julia} |
| 110 | +e_ket = basis(2,0) |
| 111 | +e_ops = [ |
| 112 | + sigmax(), |
| 113 | + sigmay(), |
| 114 | + sigmaz(), |
| 115 | + sigmam(), |
| 116 | + sigmap(), |
| 117 | + e_ket * e_ket' |
| 118 | +] |
| 119 | +ψ0 = e_ket # set initial state being purely excited to better observe the radiative behaviour |
| 120 | +L = liouvillian_spec(Ω, γ0, KT) |
| 121 | +print(L) |
| 122 | +``` |
| 123 | + |
| 124 | +We already generate the Liouvillian with `c_ops` included above. We don't need to specify the `c_ops` again in [`mesolve`](https://qutip.org/QuantumToolbox.jl/stable/resources/api#QuantumToolbox.mesolve): |
| 125 | +```{julia} |
| 126 | +tlist = 0:0.1:20 |
| 127 | +sol = mesolve(L, ψ0, tlist, nothing, e_ops = e_ops) |
| 128 | +``` |
| 129 | + |
| 130 | +By observing the expectation values of the Pauli operators, we see that the Bloch vector $(\langle \hat{\sigma}_x \rangle, \langle \hat{\sigma}_y \rangle, \langle \hat{\sigma}_z \rangle)$ becomes shorter over time, which is consistent with the dissipative behaviour. Also, the population of the excited state $|e\rangle$ has an oscillation amplitude decaying over time. |
| 131 | +```{julia} |
| 132 | +expect = real.(sol.expect) |
| 133 | +fig1 = Figure(size = (600,300)) |
| 134 | +ax11 = Axis( |
| 135 | + fig1[1,1] |
| 136 | +) |
| 137 | +lines!(ax11, tlist, expect[1,:], label = L"\langle \hat{\sigma}_x \rangle") |
| 138 | +lines!(ax11, tlist, expect[2,:], label = L"\langle \hat{\sigma}_y \rangle") |
| 139 | +lines!(ax11, tlist, expect[3,:], label = L"\langle \hat{\sigma}_z \rangle") |
| 140 | +axislegend(ax11) |
| 141 | +ylims!(ax11, (-1,1)) |
| 142 | +
|
| 143 | +ax12 = Axis( |
| 144 | + fig1[2,1], |
| 145 | + xlabel = L"time $[1/\Omega]$" |
| 146 | +) |
| 147 | +lines!(ax12, tlist, expect[6,:], label = L"P_e") |
| 148 | +axislegend(ax12) |
| 149 | +ylims!(ax12, (0,1)) |
| 150 | +
|
| 151 | +display(fig1); |
| 152 | +``` |
| 153 | + |
| 154 | +Further, we check the effect of different values of the damping rate. Note that despite these dissipation rates looked enormous at first glance, it is still to the order of the field strength and therefore considered dissipative for the system in the lab frame. |
| 155 | +```{julia} |
| 156 | +results = [] |
| 157 | +γ0s = Ω .* [0.1, 0.5, 1] |
| 158 | +for γ0 in γ0s |
| 159 | + result = mesolve(liouvillian_spec(Ω, γ0, KT), ψ0, tlist, nothing, e_ops = e_ops) |
| 160 | +
|
| 161 | + push!(results, (γ0 = γ0, expect = result.expect)) |
| 162 | +end |
| 163 | +``` |
| 164 | + |
| 165 | +The expectation values dynamics of $\hat{\sigma}^{+}$ and $\hat{\sigma}^{-}$ shows the driving-field-induced dipole moment of the atom oscillates and persists. |
| 166 | +```{julia} |
| 167 | +fig2 = Figure(size = (600,300)) |
| 168 | +ax2 = Axis( |
| 169 | + fig2[1,1], |
| 170 | + xlabel = L"time $[1/\Omega]$", |
| 171 | + title = L"\langle\hat{\sigma}_{+}\rangle" |
| 172 | +) |
| 173 | +
|
| 174 | +for (γ0, expect) in results |
| 175 | + lines!(ax2, tlist, imag(expect[5,:]), label = "γ0 = $γ0") |
| 176 | +end |
| 177 | +
|
| 178 | +axislegend(ax2) |
| 179 | +display(fig2); |
| 180 | +``` |
| 181 | + |
| 182 | +```{julia} |
| 183 | +fig3 = Figure(size = (600,300)) |
| 184 | +ax3 = Axis( |
| 185 | + fig3[1,1], |
| 186 | + xlabel = L"time $[1/\Omega]$", |
| 187 | + title = L"\langle\hat{\sigma}_{-}\rangle" |
| 188 | +) |
| 189 | +
|
| 190 | +for (γ0, expect) in results |
| 191 | + lines!(ax3, tlist, imag(expect[4,:]), label = "γ0 = $γ0") |
| 192 | +end |
| 193 | +axislegend(ax3) |
| 194 | +display(fig3); |
| 195 | +``` |
| 196 | + |
| 197 | +We now move to the analysis of the correlation function $C(\tau) = \langle \hat{\sigma}^{+}(\tau) \hat{\sigma}^{-}(0)\rangle$, which describes the radiative behaviour of the atom towards its surrounding environment. Using [`correlation_2op_1t`](https://qutip.org/QuantumToolbox.jl/stable/resources/api#QuantumToolbox.correlation_2op_1t), we can obtain the correlation function as a function of $\tau$ and use [`spectrum_correlation_fft`](https://qutip.org/QuantumToolbox.jl/stable/resources/api#QuantumToolbox.spectrum_correlation_fft) to obtain the corresponding Fourier transform. |
| 198 | +```{julia} |
| 199 | +fig4 = Figure(size = (600,300)) |
| 200 | +ax41 = Axis( |
| 201 | + fig4[1,1], |
| 202 | + xlabel = L"\tau", |
| 203 | + title = L"C(\tau)" |
| 204 | +) |
| 205 | +
|
| 206 | +ax42 = Axis( |
| 207 | + fig4[1,2], |
| 208 | + xlabel = L"\omega", |
| 209 | + ylabel = "fft amplitude" |
| 210 | +) |
| 211 | +τlist = 0:0.1:100 |
| 212 | +for γ0 in γ0s |
| 213 | + L = liouvillian_spec(Ω, γ0, KT) |
| 214 | + corr = correlation_2op_1t(L, ψ0, τlist, nothing, sigmap(), sigmam()) |
| 215 | +
|
| 216 | + lines!(ax41, τlist, real(corr), label = "γ0 = $γ0") |
| 217 | +
|
| 218 | + fft_ωlist, fft_spect = spectrum_correlation_fft(τlist, corr) |
| 219 | + lines!(ax42, fft_ωlist, fft_spect, label = "γ0 = $γ0") |
| 220 | +end |
| 221 | +xlims!(ax42, (-2,2)) |
| 222 | +axislegend(ax41) |
| 223 | +axislegend(ax42) |
| 224 | +display(fig4); |
| 225 | +``` |
| 226 | +In the above plots, one finds that the correlation functions decay faster with higher dissipation rate, and therefore the lower spectral peaks. On the other hand, the higher spectral peaks means the radiation is brighter in terms of intensity. |
| 227 | + |
| 228 | +## Version Information |
| 229 | +```{julia} |
| 230 | +import QuantumToolbox |
| 231 | +QuantumToolbox.versioninfo() |
| 232 | +``` |
0 commit comments