About the algorithm

Green’s Function Monte Carlo (GFMC) projects a walker ensemble onto the ground state of a sign-problem-free Hamiltonian \(H\),

\[\vert\psi_0\rangle \;\propto\; \lim_{n\to\infty}\,e^{-n\beta H}\,\vert\psi\rangle\,.\]

A model is sign-problem-free if all off-diagonal matrix elements of \(H\) in the chosen basis are non-positive,

\[\langle x'\vert H\vert x\rangle \;\le\; 0 \qquad \text{for all } x' \neq x\,.\]

The core idea is the following:

  • Walkers: Within an ensemble of fixed size, each walker represents a basis state \(x\) and carries a weight.

  • Propagation: The walker population is propagated by interpreting the Hamiltonian as a stochastic process. A walker at \(x\) moves to \(x'\) with a probability proportional to \(-\langle x'\vert H\vert x\rangle \ge 0\). Each walker carries a weight that is updated with each transition. PyGFMC propagates either in continuous imaginary time ("cont_time", the default) or in discrete sub-steps of \(\lambda - H\) ("single_step" and "multi_step"). \(\lambda\) is a positive constant.

  • Reconfiguration: At fixed intervals the walkers are resampled according to the weights accumulated during propagation. This removes low-weight walkers and duplicates high-weight ones.

  • Importance sampling: An (optional) guiding wavefunction \(\psi_T > 0\) modifies the transition probabilities and biases the moves toward the ansatz,

    \[-\langle x'\vert H\vert x\rangle \;\longrightarrow\; -\frac{\psi_T(x')}{\psi_T(x)}\,\langle x'\vert H\vert x\rangle\,.\]

    This drastically improves convergence for problems that are hard to equilibrate.

  • Estimators: Besides the energy, which is available through the reconfiguration, the walker ensemble also gives access to observables. While diagonal observables are accessible with minimal additional cost, off-diagonal observables require launching auxiliary Markov chains, which increases the computational cost significantly.

A detailed description of the algorithm can be found in the paper.