src/DiffEq/OrnsteinUhlenbeck/DiagOrnsteinUhlenbeck.hpp file

System of diagonal Ornstein-Uhlenbeck SDEs.


This file implements the time integration of a system of stochastic differential equations (SDEs), with linear drift and constant diagonal diffusion, whose invariant is the joint normal distribution.

In a nutshell, the equation integrated governs a set of scalars, $Y_\alpha$ , $\alpha\!=\!1,\dots,N$ , as

\[ \mathrm{d}Y_\alpha(t) = \theta_\alpha\left(\mu_\alpha - Y_\alpha\right) \mathrm{d}t + \sigma_\alpha\mathrm{d}W_\alpha(t), \qquad \alpha=1,\dots,N \]
\[ \begin{split} \mathrm{d}Y_\alpha(t) = \theta_\alpha\left(\mu_\alpha - Y_\alpha\right) \mathrm{d}t + \sigma_\alpha\mathrm{d}W_\alpha(t), \\ \alpha=1,\dots,N \end{split} \]

with parameter vectors $\theta_\alpha > 0$ , $\mu_\alpha$ , and $\sigma_\alpha > 0$ . Here $\mathrm{d}W_\alpha(t)$ is an isotropic vector-valued Wiener process with independent increments. The invariant distribution is the joint normal distribution. This system of SDEs consists of N independent equations, each being a single-variate Ornstein-Uhlenbeck process.

From the Fokker-Planck equation, equivalent to the SDE above, the equations governing the means, $ \langle Y_\alpha \rangle$ , are

\[ \newcommand{\irmean}[1]{{\langle{#1}\rangle}} \frac{\partial\irmean{Y_\alpha}}{\partial t} = \theta_\alpha\left(\mu_\alpha - \irmean{Y_\alpha}\right) \]

while the equation governing the covariance matrix, $ \langle y_\alpha y_\beta \rangle \equiv \left\langle (Y_\alpha - \langle Y_\alpha \rangle) (Y_\beta - \langle Y_\beta\rangle) \right\rangle $ , is

\[ \newcommand{\irmean}[1]{{\langle{#1}\rangle}} \newcommand{\irv}[1]{\langle{#1^2}\rangle} \frac{\partial\irmean{y_\alpha y_\beta}}{\partial t} = -\left(\theta_\alpha+\theta_\beta\right)\irmean{y_\alpha y_\beta} + \left\{ \begin{array}{lr} \sigma_\alpha^2 & \mathrm{for} \quad \alpha = \beta,\\ 0 & \mathrm{for} \quad \alpha \ne \beta \end{array} \right.. \]
\[ \begin{split} \newcommand{\irmean}[1]{{\langle{#1}\rangle}} \newcommand{\irv}[1]{\langle{#1^2}\rangle} \frac{\partial\irmean{y_\alpha y_\beta}}{\partial t} = -\left(\theta_\alpha+\theta_\beta\right)\irmean{y_\alpha y_\beta} \\ + \left\{ \begin{array}{lr} \sigma_\alpha^2 & \mathrm{for} \quad \alpha = \beta,\\ 0 & \mathrm{for} \quad \alpha \ne \beta \end{array} \right.. \end{split} \]


namespace walker
Walker declarations and definitions.


template<class Init, class Coefficients>
class walker::DiagOrnsteinUhlenbeck
Diagonal Ornstein-Uhlenbeck SDE used polymorphically with DiffEq.