src/DiffEq/Dirichlet.h file

Dirichlet SDE.


This file implements the time integration of a system of stochastic differential equations (SDEs), whose invariant is the Dirichlet distribution.

In a nutshell, the equation integrated governs a set of scalars, $0\!\le\!Y_\alpha$ , $\alpha\!=\!1,\dots,N-1$ , $\sum_{\alpha=1}^{N-1}Y_\alpha\!\le\!1$ , as

\[ \mathrm{d}Y_\alpha(t) = \frac{b_\alpha}{2}\big[S_\alpha Y_N - (1-S_\alpha)Y_\alpha\big]\mathrm{d}t + \sqrt{\kappa_\alpha Y_\alpha Y_N}\mathrm{d}W_\alpha(t), \qquad \alpha=1,\dots,N-1 \]
\[ \begin{split} \mathrm{d}Y_\alpha(t) = \frac{b_\alpha}{2}\big[S_\alpha Y_N - (1-S_\alpha)Y_\alpha\big]\mathrm{d}t + \sqrt{\kappa_\alpha Y_\alpha Y_N}\mathrm{d}W_\alpha(t), \\ \alpha=1,\dots,N-1 \end{split} \]

with parameter vectors $b_\alpha > 0$ , $\kappa_\alpha > 0$ , and $0 < S_\alpha < 1$ , and $Y_N = 1-\sum_{\alpha=1}^{N-1}Y_\alpha$ . Here $\mathrm{d}W_\alpha(t)$ is an isotropic vector-valued Wiener process with independent increments. The invariant distribution is the Dirichlet distribution, provided the parameters of the drift and diffusion terms satisfy

\[ (1-S_1) b_1 / \kappa_1 = \dots = (1-S_{N-1}) b_{N-1} / \kappa_{N-1}. \]

To keep the invariant distribution Dirichlet, the above constraint on the coefficients must be satisfied. For more details on the Dirichlet SDE, see


namespace walker
Walker declarations and definitions.


template<class Init, class Coefficients>
class walker::Dirichlet
Dirichlet SDE used polymorphically with DiffEq.