svStochasticIntegratorEulerHeun

class svStochasticIntegratorEulerHeun : public StochasticRKIntegratorBase
#include <svStochasticIntegratorEulerHeun.h>

The Euler-Heun stochastic integrator (strong order 0.5), the Stratonovich analogue of the Euler-Maruyama method.

For a Stratonovich SDE of the form:

\[ dx = f(t,x)\,dt + \sum_i g_i(t,x)\circ dW_i \]

with time step \(h\) and Wiener increments \(\Delta W_i \sim N(0,h)\), the integrator computes a predictor and corrector:

\[ \bar{x} = x_n + f(t_n,x_n)\,h + \sum_i g_i(t_n,x_n)\,\Delta W_i \]
\[ x_{n+1} = x_n + \tfrac{h}{2}\big(f(t_n,x_n) + f(t_{n+1},\bar{x})\big) + \sum_i \tfrac{1}{2}\big(g_i(t_n,x_n) + g_i(t_{n+1},\bar{x})\big)\Delta W_i \]

This is an implementation of the Euler-Heun method.

Warning

Stochastic integration is in beta.

Public Functions

virtual void integrate(double currentTime, double timeStep) override

Performs the integration of the associated dynamic objects up to time currentTime+timeStep