SDE Types
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:
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
with initial condition $u0$.
Constructors
SDEProblem(f,g,u0,tspan,noise=WHITE_NOISE,noise_rate_prototype=nothing) : Defines the SDE with the specified functions. The default noise is WHITE_NOISE.
Fields
f: The drift function in the SDE.g: The noise function in the SDE.u0: The initial condition.tspan: The timespan for the problem.noise: The noise process applied to the noise upon generation. Defaults to Gaussian white noise. For information on defining different noise processes, see the noise process documentation pagenoise_rate_prototype: A prototype type instance for the noise rates, that is the outputg. It can be any type which overloadsA_mul_B!with itself being the middle argument. Commonly, this is a matrix or sparse matrix. If this is not given, it defaults tonothing, which means the problem should be interpreted as having diagonal noise.callback: A callback to be applied to every solver which uses the problem. Defaults to nothing.mass_matrix: The mass-matrix. Defaults toI, theUniformScalingidentity matrix.
Special Solver Options
Special Solution Fields
g: The noise function in the SDE.
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)DiffEqProblemLibrary.prob_sde_linear — Constant.where β=1.01, α=0.87, and initial condtion u0=1/2, with solution
DiffEqProblemLibrary.prob_sde_2Dlinear — Constant.8 linear SDEs (as a 4x2 matrix):
where β=1.01, α=0.87, and initial condtion u0=1/2 with solution
DiffEqProblemLibrary.prob_sde_wave — Constant.and initial condition u0=1.0 with solution
DiffEqProblemLibrary.prob_sde_lorenz — Constant.Lorenz Attractor with additive noise
with $σ=10$, $ρ=28$, $β=8/3$, $α=3.0$ and inital condition $u0=[1;1;1]$.
DiffEqProblemLibrary.prob_sde_cubic — Constant.and initial condtion u0=1/2, with solution
DiffEqProblemLibrary.prob_sde_additive — Constant.Additive noise problem
and initial condition u0=1.0 with α=0.1 and β=0.05, with solution
DiffEqProblemLibrary.prob_sde_additivesystem — Constant.A multiple dimension extension of additiveSDEExample