Programs in Physics & Physical Chemistry
|[Licence| Download | New Version Template] adfq_v1_0.tar.gz(76 Kbytes)|
|Manuscript Title: A C++ library using quantum trajectories to solve quantum master equations.|
|Authors: R. Schack, T.A. Brun|
|Program title: Quantum trajectory class library|
|Catalogue identifier: ADFQ_v1_0|
Distribution format: tar.gz
|Journal reference: Comput. Phys. Commun. 102(1997)210|
|Programming language: C++.|
|Computer: DEC alpha 200.|
|Operating system: UNIX (Gnu g++ v2.7.2), VMS (DEC V5.2).|
|RAM: 1M words|
|Keywords: Atomic physics, Theoretical methods, Open quantum system, Master equation, Hilbert space, Quantum trajectories, Unravelling, Stochastic simulation, Quantum computation, Quantum optics, Quantum state diffusion, Quantum jumps, Monte carlo wavefunction.|
Nature of problem:
Open quantum systems, i.e., systems whose interaction with the environment cannot be neglected, occur in a variety of contexts. Examples are quantum optics, atomic and molecular physics and quantum computers. If the time evolution of the system is approximately Markovian, it can be described by a master equation of Lindblad form , a first order differential equation for the density operator. Solving the master equation is the principal purpose of the program. Since the state and operator classes are very general, they can be used in any physical problem involving Hilbert spaces with several degrees of freedom.
By analogy with the solution of a Fokker-Planck equation by numerical simulation of the corresponding stochastic differential equation, a master equation can be solved by simulating the stochastic evolution of a vector in Hilbert space. The correspondence between master equation and stochastic equation is not unique: there are many ways to unravel the master equation into stochastic quantum trajectories. The program implements three such unravellings, known as the "quantum state diffusion method (QSD)" , the "quantum jump method" [3-5] and the "orthogonal jump method" . The phenomenon of phase-space localization [7,8] is exploited numerically by representing quantum states in a local moving basis obtained by applying the coherent-state displacement operator to the usual harmonic-oscillator basis, often leading to dramatic savings of computing resources.
It is worth emphasizing the effortless way in which operators and states in product Hilbert spaces are represented. Primary operators implemented in the form of simple routines acting on single degrees of freedom can be used to build up arbitrarily complex operators in product Hilbert spaces with arbitrary numbers of components. Building operators, performing arithmetic operations on operators and states and applying operators to states is done using standard algebraic notation. This program structure has been made possible by systematically implementing object-oriented programming concepts such as inheritance, concepts which are not (yet) widely used in computational physics. Encapsulation of program modules makes it easy to add new basic operators, alternative unravellings of the master equation, or different integration algorithms.
The running time depends on the complexity of the problem, the integration time and the number of trajectories required. A typical running time for a simple problem is a few minutes. There is no upper limit. The running time for the example program in Sec. 6 is about 2 minutes on a DEC alpha 200 under Digital UNIX.
|||G. Lindblad, Commun. Math. Phys. 48, 119 (1976).|
|||N. Gisin and I.C. Percival, J. Phys. A 25, 5677 (1992).|
|||H.J. Carmichael, An Open Systems Approach to Quantum Optics (Springer, Berlin, 1993).|
|||J. Dalibard, Y. Castin and K. Molmer, Phys. Rev. Lett. 68, 580 (1992).|
|||C.W. Gardiner, A.S. Parkins and P. Zoller, Phys. Rev. A 46, 4363 (1992).|
|||L. Diosi, Phys. Lett. A 114, 451 (1986).|
|||T. Steimle, G. Alber and I.C. Percival, J. Phys. A 28, L491 (1995).|
|||R. Schack, T.A. Brun and I.C. Percival, J. Phys. A 28, 5401 (1995).|
|Disclaimer | ScienceDirect | CPC Journal | CPC | QUB|