Program title: C++QED
Catalogue identifier: AELU_v2_0
Program summary URL:http://cpc.cs.qub.ac.uk/summaries/AELU_v2_0.html
Program obtainable from: CPC Program Library, Queen’s University, Belfast, N. Ireland
Licensing provisions: yes
No. of lines in distributed program, including test data, etc.: 492422
No. of bytes in distributed program, including test data, etc.: 8070987
Distribution format: tar.gz
Programming language: C++/Python.
Computer: i386-i686, x86 64.
Operating system: In principle cross-platform, as yet tested only on UNIX-like systems (including Mac OS X).
RAM: The framework itself takes about 60MB, which is fully shared. The additional memory taken by the program which defines the actual physical system (script) is typically less than 1MB. The memory storing the actual data scales with the system dimension for state-vector manipulations, and the square of the dimension for density-operator manipulations. This might easily be GBs, and often the memory of the machine limits the size of the simulated system.
Classification: 4.3, 4.13, 6.2.
External routines: Boost C++ libraries, GNU Scientific Library, Blitz++, FLENS, NumPy, SciPy
Catalogue identifier of previous version: AELU_v1_0
Journal reference of previous version: Comput. Phys. Comm. 183 (2012) 1381
Does the new version supersede the previous version?: Yes
Nature of problem:
Definition of (open) composite quantum systems out of elementary building blocks [2,3]. Manipulation of such systems, with emphasis on dynamical simulations such as Master-equation evolution [4] and Monte Carlo wave-function simulation [5].
Solution method:
Master equation, Monte Carlo wave-function method
Reasons for new version:
The new version is mainly a feature release, but it does correct some problems of the previous version, especially as regards the build system.
Summary of revisions:
We give an example for a typical Python script implementing the ring-cavity system presented in Sec. 3.3 of Ref. [2]:
Restrictions:
Total dimensionality of the system. Master equation—few thousands. Monte Carlo wave-function trajectory—several millions.
Unusual features:
Because of the heavy use of compile-time algorithms, compilation of programs written in the framework may take a long time and much memory (up to several GBs).
Additional comments:
The framework is not a program, but provides and implements an application-programming interface for developing simulations in the indicated problem domain.
We use several C++11 features which limits the range of supported compilers (g++ 4.7, clang++ 3.1)
Documentation, http://cppqed.sourceforge.net/
Depending on the magnitude of the problem, can vary from a few seconds to weeks.
References:
[1] Entry point: http://cppqed.sf.net
[2] A. Vukics, C++QEDv2: The multi-array concept and compile-time algorithms in the definition of composite quantum systems, Comp. Phys. Comm. 183(2012)1381.
[3] A. Vukics, H. Ritsch, C++QED: an object-oriented framework for wave-function simulations of cavity QED systems, Eur. Phys. J. D 44 (2007) 585.
[4] H. J. Carmichael, An Open Systems Approach to Quantum Optics, Springer, 1993.
[5] J. Dalibard, Y. Castin, K. Molmer, Wave-function approach to dissipative processes in quantum optics, Phys. Rev. Lett. 68 (1992) 580.