# Leimkuhler–Matthews method

In mathematics, the Leimkuhler-Matthews method (or LM method in its original paper) is an algorithm for finding discretized solutions to the Brownian dynamics
    $\mathrm {d} X=-\nabla V(X)\,\mathrm {d} t+\sigma \,\mathrm {d} W,$
where $\sigma >0$ is a constant, $V(X)$ is an energy function and $W(t)$ is a Wiener process. This stochastic differential equation has solutions (denoted $X(t)\in \mathbb {R} ^{N}$ at time $t$) distributed according to $\pi (X)\propto \exp(-V(x))$ in the limit of large-time, making solving these dynamics relevant in sampling-focused applications such as classical molecular dynamics and machine learning.
Given a time step $\Delta t>0$, the Leimkuhler-Matthews update scheme is compactly written as
    $X_{t+\Delta t}=X_{t}-\nabla V(X_{t})\Delta t+\sigma {\frac {\sqrt {\Delta t}}{2}}\,(R_{t}+R_{t+\Delta t}),$
with initial condition $X_{0}:=X(0)$, and where $X_{t}\approx X(t)$. The vector $R_{t}$ is a vector of independent normal random numbers redrawn at each step so ${\text{E}}[R_{t}\cdot R_{s}]=N\delta _{ts}$ (where ${\text{E}}[\bullet ]$ denotes expectation). Despite being of equal cost to the Euler-Maruyama scheme (in terms of the number of evaluations of the function $\nabla V(X)$ per update), given some assumptions on $\Delta t,\,V(X)$ and $f(X)$ solutions have been shown to have a superconvergence property
    ${\text{E}}[|f(X_{t})-f(X(t))|]\leq C_{1}e^{-\lambda t}\Delta t+C_{2}\Delta t^{2}$
for constants $C_{k}\geq 0,\,\lambda >0$ not depending on $t$. This means that as $t$ gets large we obtain an effective second order with $\Delta t^{2}$ error in computed expectations. For small time step $\Delta t$ this can give significant improvements over the Euler-Maruyama scheme, at no extra cost.

## Discussion
### Comparison to other schemes

The obvious method for comparison is the Euler-Maruyama scheme as it has the same cost, requiring one evaluation of $\nabla V(X)$ per step. Its update is of the form
    ${\hat {X}}_{t+\Delta t}={\hat {X}}_{t}-\nabla V({\hat {X}}_{t})\Delta t+\sigma {\sqrt {\Delta t}}\,R_{t},$
with error (given some assumptions ) as ${\text{E}}[|f({\hat {X}}_{t})-f(X(t))|]\leq C\Delta t$ with constant $C>0$ independent of $t$. Compared to the above definition, the only difference between the schemes is the one-step averaged noise term, making it simple to implement.
For sufficiently small time step $\Delta t$ and large enough time $t$ it is clear that the LM scheme gives a smaller error than Euler-Maruyama. While there are many algorithms that can give reduced error compared to the Euler scheme (see e.g. Milstein, Runge-Kutta or Heun's method) these almost always come at an efficiency cost, requiring more computation in exchange for reducing the error. However the Leimkuhler-Matthews scheme can give significantly reduced error with minimal change to the standard Euler scheme. The trade-off comes from the (relatively) limited scope of the stochastic differential equation it solves: $\sigma$ must be a scalar constant and the drift function must be of the form $\nabla V(X)$. The LM scheme also is not Markovian, as updates require more than just the state at time $t$. However, we can recast the scheme as a Markov process by extending the space.

### Markovian Form

We can rewrite the algorithm in a Markovian form by extending the state space with a momentum vector $P_{t}\in \mathbb {R} ^{N}$ so that the overall state is $(X_{t},P_{t})$ at time $t$. Initializing the momentum to be a vector of $N$ standard normal random numbers, we have
    $X'_{t+\Delta t}=X_{t}-\nabla V(X_{t})\Delta t+\sigma {\frac {\sqrt {\Delta t}}{2}}\,P_{t},$
    $P_{t+\Delta t}\sim {\text{Normal}}(0,I),$
    $X_{t+\Delta t}=X'_{t+\Delta t}+\sigma {\frac {\sqrt {\Delta t}}{2}}\,P_{t+\Delta t},$
where the middle step completely redraws the momentum so that each component is an independent normal random number. This scheme is Markovian, and has the same properties as the original LM scheme.

### Applications

The algorithm has application in any area where the weak (i.e. average) properties of solutions to Brownian dynamics are required. This applies to any molecular simulation problem (such as classical molecular dynamics), but also can apply to statistical sampling problems due to the properties of solutions at large times. In the limit of $t\to \infty$, solutions will become distributed according to the Probability distribution $\pi (X)\propto \exp(-V(X))$. Thus we can generate independent samples according to a required distribution by using $V(X)=-\log(\pi (X))$ and running the LM algorithm until large $t$. Such strategies can be efficient in (for instance) Bayesian inference problems.