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=1or the Trapezoid method on the drift term. This method defaults tosymplectic=false, but when true andtheta=1/2this 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 forImplicitEMwiththeta=1/2SImplicitMidpoint- An alias forImplicitEMwiththeta=1/2andsymplectic=trueImplicitEulerHeun- An order 0.5 Stratonovich drift-implicit method. This is a theta method which defaults totheta=1/2or the Trapezoid method on the drift term. This method defaults tosymplectic=false, but when true andtheta=1this 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=1or 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/2this 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=1or the Trapezoid method on the drift term. This method defaults tosymplectic=false, but when true andtheta=1/2this 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=1or the Trapezoid method on the drift term. This method defaults tosymplectic=false, but when true andtheta=1/2this 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.