C++QED: An object-oriented framework for wave-function simulations of cavity QED systems

A. Vukics,H. Ritsch
DOI: https://doi.org/10.1140/epjd/e2007-00210-x
2007-01-29
Abstract:We present a framework for efficiently performing Monte Carlo wave-function simulations in cavity QED with moving particles. It relies heavily on the object-oriented programming paradigm as realised in C++, and is extensible and applicable for simulating open interacting quantum dynamics in general. The user is provided with a number of ``elements'', eg pumped moving particles, pumped lossy cavity modes, and various interactions to compose complex interacting systems, which contain several particles moving in electromagnetic fields of various configurations, and perform wave-function simulations on such systems. A number of tools are provided to facilitate the implementation of new elements.
Quantum Physics
What problem does this paper attempt to address?
### What problems does this paper attempt to solve? This paper aims to develop an efficient framework for Monte Carlo wave - function (MCWF) simulations in cavity quantum electrodynamics (cavity QED, CQED) systems. Specifically, it addresses the following key issues: 1. **Efficiently simulate quantum systems of moving particles**: - There are many non - trivial numerical problems in the simulation of moving quantum particles, especially the stability problem. Traditional low - level code methods are difficult to handle these problems. - The paper proposes a C++ - based object - oriented programming framework to improve the efficiency and accuracy of simulations. 2. **Provide a high - level interface**: - The framework provides a high - level interface, allowing users to more easily define and simulate complex quantum systems without the need to have in - depth knowledge of the underlying theoretical models. - Users can construct complex interacting systems by combining different "elements" (such as pumping moving particles, pumping lossy cavity modes, etc.). 3. **Modular design**: - The framework adopts a modular design, which is convenient for maintenance and expansion. Each module is responsible for specific functions, such as system evolution, interaction calculation, etc. - This design makes the framework highly portable and flexible, suitable for a wide range of quantum optics research. 4. **Avoid numerical errors**: - In the state - vector representation of moving particles, numerical errors caused by frequent conversions between position and momentum representations are avoided. This is achieved by completely avoiding in - place fast Fourier transform (in - place FFT). 5. **Optimize performance**: - The framework utilizes the optimization mechanisms of the C++ compiler to ensure performance comparable to previous low - level codes while maintaining high efficiency. ### Overview of the main content - **User interface**: Describes how users write driver programs to define and simulate systems, including the selection of free systems and their interactions. - **System hierarchy**: Introduces the class hierarchy of the framework, including the design and functions of classes such as `OpenSystem`, `Element`, `Composite`, etc. - **MCWF trajectories**: Details how the MCWF trajectory - driving class works, including the representation of state vectors, the use of ODE integrators, and the role of random number generators. - **Example applications**: Gives specific examples, such as the simulation of the interaction between a single - pumped two - level atom and a single - pumped lossy cavity mode. Through these designs and implementations, the paper provides a powerful and easy - to - use tool for the quantum optics community to efficiently simulate complex moving - particle CQED systems.