# Hydrogen atom quantum monte carlo.

This is the first example in the

QMC series.

I wanted to try quantum monte carlo to understand it better, so I thought I would work
through from simple atoms to more complicated chemicals.

I don't expect that there will be much interest in this, so I'm not going to write it up extensively.

## Background

Quantum mechanics allows us to calculate energy levels of atoms and molecules accurately -
which is one of the strongest pieces of experimental support for the theory.

For hydrogen, we have an analytic expression for the ground state energy which gives -0.5 Hartrees as the correct answer, but for the purposes of trying QMC, let's do the following:

- We've got a wavefunction that takes several parameters (in this example 1).
- We try to minimise (psi|H|psi)/(psi|psi) with respect to the parameters. Note that the denominator is needed because psi is not normalised.

In more detail, here's what happens in the code:

- We start off with guessed parameters.
- We pick a random position vector, "x".
- We evaluate (x|H|psi) and (x|psi). H contains 2nd derivatives. These are calculated numerically.
- We also evaluate the derivatives of the two above expressions with respect to the parameters.
- We keep repeating the last three steps.
- Eventually we have a good estimate for (x|H|psi) and (x|psi) and their derivatives with respect to the parameters.
- We can calculate the expectation of (psi|H|psi)/(psi|psi), which is our energy estimate, and also the gradient of that with respect to the parameters
- We can update the parameters, doing gradient descent to try to minimise the energy.

Here's the trial wavefunction:

Here's the history of energy estimates:

Final energy (correct energy = -0.5, correct parameter = 1):

Back to

QMC.