WaveguideQED.jl
WaveguideQED.jl is a package for simulating continuous fockstates in waveguides. It expands on QuantumOptics.jl by adding a custom basis and operators for efficiently representing time-binned photon states.
Citing
If you find the package usefull in your research. Please consider citing: https://quantum-journal.org/papers/q-2025-04-17-1710/.
Dev docs
Added functionalities:
WaveguideBasisfor representing the waveguide Hilbert space and the related functions for generating states in this Hilbert space:zerophoton,onephoton, andtwophoton. Also seeOnePhotonView,TwoPhotonView, andplot_twophoton!for viewing the waveguide states and plotting them. Note thatWaveguideBasiscan contain multiple waveguides.WaveguideOperatorare specialized operators allowing efficient annihilation and creation operators at each time-bin in the waveguide. They are created by giving a basis toWaveguideQED.destroyandWaveguideQED.create- Since the interaction between the waveguide time-bin mode $k$ and cavity/emitter is given as: $a^\dagger w_k - a w_k^\dagger$ there are specially optimized functions for doing these operations called
CavityWaveguideOperatorwhich are created using a fockbasis and a waveguide basis and the functionsemissionandabsorption. - (OBSOLETE. SEE Beamsplitter INSTEAD).
Detector,LazyTensorKet, andLazySumKet, together withdetect_single_clickanddetect_double_clickallow one to do a beamsplitter interference and subsequent detection of photons coming from two waveguides.
