I have been reading A Conceptual Introduction to Hamiltonian Monte Carlo by Betancourt (https://arxiv.org/abs/1701.02434), which is a great introduction to HMC, but there is one part that I can't get my head around and that's what the proposal distribution in HMC is. In standard Metropolis Hastings we can use a normal or uniform distribution as proposal distribution, and they cancel because of symmetry. This is also the case in HMC, but I can't see what the actual distribution is. Is it the momentum variable (i.e multivariate normal)? Can anybody explain this or link to sources that explain it? Thanks!


2 Answers 2


The proposal distribution for the original Hamiltonian Monte Carlo algorithm is just a delta function around the final point in the numerical trajectory with the momentum negated, $$K(z' | z) = \delta \, (z' - R(\Phi_{\epsilon, L}(z))), $$ where $z = (q, p)$ is a point on phase space, $\Phi_{\epsilon, L}(z)$ is the action of the numerical integrator, and $R$ is the negation operator that fits the sign of the momentum, $$R(q, p) = (q, -p).$$

Importantly, the original Hamiltonian Monte Carlo algorithm cannot be interpreted as a Metropolis-Hastings algorithm on the target parameter space and so there is no proposal distribution $K(q'|q)$. The Metropolis-Hastings acceptance procedure has to be done on the extended phase space that includes the auxiliary momenta in addition to the target parameters. The overall procedure of sampling momenta to generate a point in phase space, numerically integrating a trajectory, accepting or rejecting the final point in phase space, and then throwing the momenta away to recover a new parameter value, however, defines a Markov kernel on the target parameter space.

Tierney (https://projecteuclid.org/euclid.aoap/1027961031) discusses some of the formal details of working with delta function proposals for Metropolis-Hastings.


The proposal distribution in Hamiltonian Monte Carlo does not have an explicit form in general. Instead, samples from it are defined operationally: first sample an initial velocity and then move the position using a number of leap-frog steps. The final position is a sample from the proposal distribution.

  • $\begingroup$ Ok, so if we sample momentum p from a multivariate normal, move to new position p* (not including the parameters q) using L leapfrog steps, Is then our proposal distribution f(p*|p) multivariate normal in the numerator and our proposal distribution f(p|p*) multivariate in the denominator, and since it is symmetric, they cancel? $\endgroup$
    – J.C.Wahl
    Nov 30, 2017 at 15:01
  • 1
    $\begingroup$ No, you start from a position q and sample p. Then you move to (q*,p*) and the proposal is q*. There is no explicit expression for K(q*|q), but K(q*|q) is proportional to the distribution used to sample p, N(p|0, \sigma), up to a Jacobian that cancels in the denominator of the Metropolis-Hastings factor because the leapfrog integrator preserves the volume in the space (q,p). But note that N(p|0, \sigma) is not symmetric with N(p*|0, \sigma), so there is no cancellation between N(p|0, \sigma) and N(p*|0, \sigma). $\endgroup$
    – aripakman
    Dec 2, 2017 at 20:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.