SDE Problems

SDE Problems

Mathematical Specification of a SDE Problem

To define an SDE Problem, you simply need to give the forcing function $f$, the noise function g, and the initial condition $u₀$ which define an SDE:

\[du = f(t,u)dt + Σgᵢ(t,u)dWⁱ\]

f and g should be specified as f(t,u) and g(t,u) respectively, and u₀ should be an AbstractArray whose geometry matches the desired geometry of u. Note that we are not limited to numbers or vectors for u₀; one is allowed to provide u₀ as arbitrary matrices / higher dimension tensors as well. A vector of gs can also be defined to determine an SDE of higher Ito dimension.

Problem Type

Wraps the data which defines an SDE problem

\[u = f(u,t)dt + Σgᵢ(u,t)dWⁱ\]

with initial condition $u0$.


SDEProblem{isinplace}(f,g,u0,tspan,noise=WHITE_NOISE,noise_rate_prototype=nothing) : Defines the SDE with the specified functions. The default noise is WHITE_NOISE. isinplace optionally sets whether the function is inplace or not. This is determined automatically, but not inferred.


Example Problems

Examples problems can be found in DiffEqProblemLibrary.jl.

To use a sample problem, such as prob_sde_linear, you can do something like:

# Pkg.add("DiffEqProblemLibrary")
using DiffEqProblemLibrary
prob = prob_sde_linear
sol = solve(prob)
\[du_t = βudt + αudW_t\]

where β=1.01, α=0.87, and initial condtion u0=1/2, with solution


8 linear SDEs (as a 4x2 matrix):

\[du_t = βudt + αudW_t\]

where β=1.01, α=0.87, and initial condtion u0=1/2 with solution

\[du_t = -\frac{1}{100}sin(u)cos^3(u)dt + \frac{1}{10}cos^{2}(u_t) dW_t\]

and initial condition u0=1.0 with solution

\[u(t,u0,W_t)=\arctan(\frac{W_t}{10} + \tan(u0))\]

Lorenz Attractor with additive noise

\[\begin{align} dx &= σ*(y-x)dt + αdW_t \\ dy &= (x*(ρ-z) - y)dt + αdW_t \\ dz &= (x*y - β*z)dt + αdW_t \\ \end{align}\]

with $σ=10$, $ρ=28$, $β=8/3$, $α=3.0$ and inital condition $u0=[1;1;1]$.

\[du_t = \frac{1}{4}u(1-u^2)dt + \frac{1}{2}(1-u^2)dW_t\]

and initial condtion u0=1/2, with solution


Additive noise problem

\[u_t = (\frac{β}{\sqrt{1+t}}-\frac{1}{2(1+t)}u_t)dt + \frac{αβ}{\sqrt{1+t}}dW_t\]

and initial condition u0=1.0 with α=0.1 and β=0.05, with solution

\[u(t,u0,W_t)=\frac{u0}{\sqrt{1+t}} + \frac{β(t+αW_t)}{\sqrt{1+t}}\]

A multiple dimension extension of additiveSDEExample