# Metropolis Samplers

These samplers include a Metropolis-Hastings style step that ensure that the Boltzmann distribution $\mu(x) \propto e^{-\beta V(x)}$ is *exactly* targeted; there is no bias associated with, for instance, a finite time step Δt.

## Zeroth Order Methods

These are samplers which do **not** require the gradienet of the potential, ∇V.

`BasicMD.RWM`

— Method`RWM(V, β, Δt)`

Set up the RWM sampler for Boltzmann.

**Fields**

- V - Potential
- β - Inverse temperature
- Δt - Time step

## First Order Methods

These are samplers which require the gradienet of the potential, ∇V, and are in the spirit of first order in time discretizations.

`BasicMD.MALA`

— Method`MALA(V, ∇V!, β, Δt)`

Set up the MALA sampler for overdamped Langevin.

**Fields**

- V - Potential
- ∇V! - In place gradient of the potential
- β - Inverse temperature
- Δt - Time step

## Second Order Methods

These are samplers which require the gradienet of the potential, ∇V, and are in the spirit of second order in time discretizations.

`BasicMD.HMC`

— Method`HMC(V, ∇V!, β, M, Δt, nΔt)`

Set up the HMC sampler for Boltzmann.

**Fields**

- V - Potential
- ∇V! - In place gradient of the potential
- β - Inverse temperature
- M - Mass matrix
- Δt - Time step
- nΔt - Number of time steps to use in each Verlet run