SDAE Solvers
Recommended Methods
The recommendations for SDAEs are the same recommended implicit SDE methods for stiff equations when the SDAE is specified in mass matrix form.
Mass Matrix Form
-
ImplicitEM
- An order 0.5 Ito drift-implicit method. This is a theta method which defaults totheta=1
or the Trapezoid method on the drift term. This method defaults tosymplectic=false
, but when true andtheta=1/2
this is the implicit Midpoint method on the drift term and is symplectic in distribution. Can handle all forms of noise, including non-diagonal, scalar, and colored noise. Uses a 1.0/1.5 heuristic for adaptive time stepping. -
STrapezoid
- An alias forImplicitEM
withtheta=1/2
-
SImplicitMidpoint
- An alias forImplicitEM
withtheta=1/2
andsymplectic=true
-
ImplicitEulerHeun
- An order 0.5 Stratonovich drift-implicit method. This is a theta method which defaults totheta=1/2
or the Trapezoid method on the drift term. This method defaults tosymplectic=false
, but when true andtheta=1
this is the implicit Midpoint method on the drift term and is symplectic in distribution. Can handle all forms of noise, including non-diagonal, scalar, and colored noise. Uses a 1.0/1.5 heuristic for adaptive time stepping. -
ImplicitRKMil
- An order 1.0 drift-implicit method. This is a theta method which defaults totheta=1
or the Trapezoid method on the drift term. Defaults to solving the Ito problem, butImplicitRKMil(interpretation=:Stratonovich)
makes it solve the Stratonovich problem. This method defaults tosymplectic=false
, but when true andtheta=1/2
this is the implicit Midpoint method on the drift term and is symplectic in distribution. Handles diagonal and scalar noise. Uses a 1.5/2.0 heuristic for adaptive time stepping. -
ISSEM
- An order 0.5 split-step Ito implicit method. It is fully implicit, meaning it can handle stiffness in the noise term. This is a theta method which defaults totheta=1
or the Trapezoid method on the drift term. This method defaults tosymplectic=false
, but when true andtheta=1/2
this is the implicit Midpoint method on the drift term and is symplectic in distribution. Can handle all forms of noise, including non-diagonal, scalar, and colored noise. Uses a 1.0/1.5 heuristic for adaptive time stepping. -
ISSEulerHeun
- An order 0.5 split-step Stratonovich implicit method. It is fully implicit, meaning it can handle stiffness in the noise term. This is a theta method which defaults totheta=1
or the Trapezoid method on the drift term. This method defaults tosymplectic=false
, but when true andtheta=1/2
this is the implicit Midpoint method on the drift term and is symplectic in distribution. Can handle all forms of noise, including non-diagonal, Q scalar, and colored noise. Uses a 1.0/1.5 heuristic for adaptive time stepping. -
SKenCarp
- Adaptive L-stable drift-implicit strong order 1.5 for additive Ito and Stratonovich SDEs with weak order 2. Can handle diagonal, non-diagonal and scalar additive noise.*†
Notes
†: Does not step to the interval endpoint. This can cause issues with discontinuity detection, and discrete variables need to be updated appropriately.
*: Note that although SKenCarp
uses the same table as KenCarp3
, solving a ODE problem using SKenCarp
by setting g(du,u,p,t) = du .= 0
will take many more steps than KenCarp3
because error estimator of SKenCarp
is different (because of noise terms) and default value of qmax
(maximum permissible ratio of relaxing/tightening dt
for adaptive steps) is smaller for StochasticDiffEq algorithms.