C++QED: a framework for simulating open quantum dynamics – the first ten years
András Vukics1
1 Department of Quantum Optics and Quantum Information, Institute for Solid State Physics and Optics, Wigner Research Centre for Physics, Hungarian Academy of Sciences, Budapest, Hungary
C++QED is a versatile open-source C++/Python application-programming framework for simulating open quantum dynamics. It allows users to build arbitrarily complex interacting quantum systems from elementary free subsystems and interactions and simulate their time evolution with a number of available time-evolution drivers. In my presentation, I will first sketch the outlines of C++QED, concentrating on two unique features:
1. the fundamental design idea of the framework, which relies heavily on the multi-array concept and compile-time algorithms (C++ template metaprogramming) [1-4]
2. a modification of the Monte Carlo wave-function method to use adaptive time step [1,5]
Subsequently, I will present some important examples of usage that occurred during the first decade of the history of the framework, some instructive limitations of the design, and the problems and challenges that C++QED has faced during this time and is facing nowadays.
References:
[1] cppqed.sf.net
[2] A. Vukics and H. Ritsch. C++QED: an object-oriented framework for wave-function simulations of cavity QED systems. Eur. Phys. J. D, 44:585–599, 2007.
[3] András Vukics. C++QEDv2: The multi-array concept and compile-time algorithms in the definition of composite quantum systems. Comp. Phys. Comm., 183:1381–1396, 2012.
[4] Raimar Sandner, András Vukics. C++QEDv2 Milestone 10: A C++/Python application-programming framework for simulating open quantum dynamics. Comp. Phys. Comm., 185:2380–2382, 2014.
[5] M. Kornyik, A. Vukics. The Monte Carlo wave-function method: A robust adaptive algorithm and a study in convergence. Comp. Phys. Comm., 238:88–101, 2019.