next up previous contents
Next: Fixed-node Diffusion Monte Carlo Up: Diffusion Monte Carlo Previous: Primitive algorithm   Contents

Higher-order algorithm

The primitive approximation (2.23) for the Green's function has a first-order of accuracy, i.e. the resulting energy has a linear dependence on the timestep. It means that measurements with different time-steps are necessary in order to make extrapolation to zero timestep $\Delta\tau\to 0$ as the dependence on the timestep is very strong. Instead one can consider a higher order approximations. One of the possible second-order expansions is

$\displaystyle e^{-\hat H\tau} =e^{-\hat H_3\tau/2}e^{-\hat H_2\tau/2}e^{-\hat H_1\tau}e^{-\hat H_2\tau/2}e^{-\hat H_3\tau/2}+O(\tau^3)$     (2.35)

This expansion leads to a quadratic dependence of the energy on the timestep which makes this approximation very useful. The point is that each calculation has an intrinsic statistical error, which depends on the length of the calculation and on the variance of the measured quantity. Once the desired level of accuracy is chosen one can make a study of the dependence on the timestep and adjust it to the maximal value, which still gives an error smaller than the desired statistical error. Using this timestep one can avoid the extrapolation procedure at all.

Here is the summary of the higher order scheme used in the calculations. One step which propagates the system in the imaginary time from $\tau$ to $\tau+\Delta\tau$. The walker is moved from position ${\vec r}_{i-1}$ to position ${\vec r}_{i}$ and is replicated with the weight calculated during the branching
$~~~~~~~~$1) Gaussian jump (2.26):
$~~~~~~~~~~~~~~~~~~~~~~~{\bf R}= {\vec r}_{i-1} + \chi,\qquad f(\chi) = \exp\{-{\bf R}^2/4\Delta\tau\}$
$~~~~~~~~$2) Drift force (2.28):
$~~~~~~~~~~~~~~~~~~~~~~~{\bf R}' = {\bf R}+ {\bf F}({\bf R})\,\Delta\tau/2$
$~~~~~~~~~~~~~~~~~~~~~~~{\bf R}'' = {\bf R}+ ({\bf F}({\bf R})+{\bf F}({\bf R}')\,\Delta\tau/4$
$~~~~~~~~~~~~~~~~~~~~~~~{\bf R}''' = {\bf R}+ {\bf F}({\bf R}'')\,\Delta\tau$
$~~~~~~~~$3) Branching (2.30):
$~~~~~~~~~~~~~~~~~~~~~~~{\bf R}'''\to{\vec r}_i$


next up previous contents
Next: Fixed-node Diffusion Monte Carlo Up: Diffusion Monte Carlo Previous: Primitive algorithm   Contents
G.E. Astrakharchik 15-th of December 2004