# 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.