About the algorithm
Green’s Function Monte Carlo (GFMC) projects a walker ensemble onto the ground state of a sign-problem-free Hamiltonian \(H\),
A model is sign-problem-free if all off-diagonal matrix elements of \(H\) in the chosen basis are non-positive,
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.