To use all functions of this page, please activate cookies in your browser.
my.chemeurope.com
With an accout for my.chemeurope.com you can always see everything at a glance – and you can configure your own website and individual newsletter.
- My watch list
- My saved searches
- My saved topics
- My newsletter
Diffusion Monte CarloDiffusion Monte Carlo (DMC) is a quantum Monte Carlo method that utilizes a Green function to solve the Schrödinger equation. DMC is potentially numerically exact, meaning that it can find the exact ground state energy within a given error for any quantum system. When actually attempting the calculation, one finds that for bosons, the algorithm is scales as a polynomial with the system size, but for fermions, DMC is exponentially scaling with the system size. This makes exact large-scale DMC simulations for fermions impossible; however, with a clever approximation known as fixed-node, very accurate results can be obtained. What follows is an explanation of the basic algorithm, how it works, why fermions cause a problem, and how the fixed-node approximation resolves this problem. The Projector MethodAdditional recommended knowledgeTo motivate the algorithm, let's look at the Schrödinger equation for a particle in some potential in one dimension: We can condense the notation a bit by writing it in terms of an operator equation, with . So then we have where we have to keep in mind that H is an operator, not a simple number or function. There are special functions, called eigenfunctions, for which HΨ(x) = EΨ(x), where E is a number. These functions are special because no matter where we evaluate the action of the H operator on the wave function, we always get the same number E. These functions are called stationary states, because the time derivative at any point x 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. We're going to write a slightly different version of the Schrödinger equation that will have the same energy eigenvalue, but, instead of being oscillatory, it will be convergent. Here it is: . We've removed the imaginary number from the time derivative and added in a constant offset of E_{0}, which is the ground state energy. We don't actually know the ground state energy, but there will be a way to determine it self-consistently which we'll introduce later. Our modified equation(some people call it the imaginary-time Schrödinger equation) has some nice properties. The first thing to notice is that if we happen to guess the ground state wave function, then HΦ_{0}(x) = E_{0}Φ_{0}(x) and the time derivative is zero. Now suppose that we start with another wave function(Ψ), which is not the ground state but is not orthogonal to it. Then we can write it as a linear sum of eigenfunctions: Since this is a linear differential equation, we can look at the action of each part separately. We already determined that Φ_{0} is stationary. Suppose we take Φ_{1}. Since Φ_{0} is the lowest-energy eigenfunction, the associate eigenvalue of Φ_{1} satisfies the property E_{1} > E_{0}. Thus the time derivative of c_{1} is negative, and will eventually go to zero, leaving us with only the ground state. This observation also gives us a way to determine E_{0}. 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 ImplementationNow we have an equation that, as we propagate it forward in time and adjust E_{0} 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 x(t + τ) = x(t) + τv(t) + 0.5F(t)τ^{2}, if we assume that the force is constant over the time span of τ. 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. References
Categories: Quantum chemistry | Monte Carlo methods |
This article is licensed under the GNU Free Documentation License. It uses material from the Wikipedia article "Diffusion_Monte_Carlo". A list of authors is available in Wikipedia. |