next up previous contents
Next: Higher-order algorithm Up: Diffusion Monte Carlo Previous: Green's function   Contents

Primitive algorithm

If the wave function of the system $f({\vec r},\tau)$ is real and positive, as it happens in case of ground state of a bose system, it can be treated as population density distribution2.1(the algorithm for fermions, where the wave function has nodes will be discussed in Sec. 2.6)

$\displaystyle f({\vec r},\tau) = \sum\limits_{i=1}^{N_W} C \delta ({\bf R - R_i}(\tau)),$     (2.31)

here $C$ is a positive constant, ${\bf R_i}(\tau)$ are coordinates of a population element (so called walker) in $3N$-dimensional configuration space, $f({\bf R},\tau)\,{\bf dR}$ gives the probability to find a walker at time $\tau$ in the vicinity ${\bf dR}$ of a point ${\bf R}$.

Let us now interpret the action of the each of the three terms of the Hamiltonian (2.20) on the population distribution or, being the same, the action of the corresponding Green's functions (2.26, 2.28, 2.30). In terms of Markov chains the Green's function is the $G({\vec r},{\bf R}',\tau)$ is the transition matrix which determines the evolution of the distribution (see Eq. 2.18).

The first term means the diffusion of each of the walkers in the configuration space

$\displaystyle {\bf R^{(1)}}(t+\Delta\tau) = {\bf R}(\tau) + {\bf\chi},$     (2.32)

here ${\bf\chi}$ is a random value having a gaussian distribution $\exp\{-\chi^2/(4
D \Delta\tau)\}$.

The second term describes the action of the drift force, which guides the walkers to places in the configuration space, where the trial wave function is maximal. This is the way how importance sampling acts in the algorithm

$\displaystyle {\bf R^{(2)}}(t+\Delta\tau) = {\bf R}(\tau) + D F({\bf R})\Delta\tau$     (2.33)

The Green's functions of steps (2.26),(2.28) are normalized to unity $\int
G({\vec r},{\bf R}',\tau)\,{\bf dR}= 1$. The normalization of wave function $f$ is then conserved, which means that the number of walkers remains constant.

The third term is the branching

$\displaystyle f^{(3)}({\vec r}, \tau+\Delta\tau) = \exp\{-(E^{loc}({\bf R})-E)\,\Delta\tau\}~f({\vec r},\tau)$     (2.34)

The corresponding Green's function $G_3({\vec r},{\bf R}',\tau)$ (2.30) is no longer normalized. That means that the weight of a walker ${\bf R}$ changes on this step, thus walkers with lower local energy have larger weights and walkers with larger local energy have smaller weights. On this step each walker is to be duplicated $b=\exp\{-(E^{loc}({\bf R})-E)\,\Delta\tau\}$ times. In general the number $b$ is not an integer. A possible solution is to throw a random number $\xi \in (0,1)$ and duplicate the walker $[b+\xi]$ times, where the brackets $[\cdot]$ stand for the integer part of a number.

Now it is clear that by adjusting the value of $E$ one can control the size of the population and keep it within the desired range. If the value of $E$ is taken to be equal the estimator $E_0$ (2.14) averaged over the population and the population size does not change, it means that $E_0$ is equal to the ground state energy (see, also, Eq. 2.9).

The branching is an essential part of the DMC algorithm as it ``corrects'' the trial wave function. Indeed, the first two steps (2.26), (2.28) alone without (2.30) are equivalent to sampling the trial wave function and provide the same result as the variational calculation (Sec. 2.2). If the trial wave function is an exact eigenfunction of the Hamiltonian, the local energy equals to the corresponding eigennumber and is independent of ${\bf R}$, thus the branching becomes irrelevant as it acts in the same way on all walkers.


next up previous contents
Next: Higher-order algorithm Up: Diffusion Monte Carlo Previous: Green's function   Contents
G.E. Astrakharchik 15-th of December 2004