Wikipedia / Diffusion Monte Carlo
Wikipedia / Diffusion Monte Carlo
Diffusion Monte Carlo (DMC) or diffusion quantum Monte Carlo is a quantum Monte Carlo method that uses a Green's function to calculate low-lying energies of a quantum many-body Hamiltonian. It is also called Green's function Monte Carlo.
Introduction and motivation of the algorithm
Diffusion Monte Carlo has the potential to be numerically exact, meaning that it can find the exact ground state energy for any quantum system within a given error, but approximations must often be made and their impact must be assessed in particular cases. When actually attempting the calculation, one finds that for bosons, the algorithm scales as a polynomial with the system size, but for fermions, DMC scales exponentially with the system size. This makes exact large-scale DMC simulations for fermions impossible; however, DMC employing a clever approximation known as the fixed-node approximation can still yield very accurate results.
To motivate the algorithm, let's look at the Schrödinger equation We can condense the notation a bit by writing it in terms of an operator is the Hamiltonian operator
is an operator, not a simple number or function. There are special functions, called eigenfunctions operator on the wave function. These functions are called stationary states, because the time derivative is always the same, so the amplitude of the wave function never changes in time. Since the overall phase of a wave function is not measurable, the system does not change in time.
We are usually interested in the wave function with the lowest energy eigenvalue, the ground state Since this is a linear differential equation. We watch the amplitude of the wave function as we propagate through time. If it increases, then decrease the estimation of the offset energy. If the amplitude decreases, then increase the estimate of the offset energy.
Stochastic implementation and the Green's function
appropriately, we find the ground state of any given Hamiltonian. This is still a harder problem than classical mechanics, though, because instead of propagating single positions of particles, we must propagate entire functions. In classical mechanics, we could simulate the motion of the particles by setting
. For the imaginary time Schrödinger equation, instead, we propagate forward in time using a convolution integral with a special function called a Green's function. So we get
Similarly to classical mechanics, we can only propagate for small slices of time; otherwise the Green's function is inaccurate. As the number of particles increases, the dimensionality of the integral increases as well, since we have to integrate over all coordinates of all particles. We can do these integrals by Monte Carlo integration.
See also
References