TransWikia.com

Open source solver for continuous-time stochastic non-linear DAEs (SDAEs)

Computational Science Asked on October 23, 2021

I am trying to solve a system of non-linear index-1 DAEs in which the derivatives of the state variables, $x(t)$ are corrupted by additive noise, $w(t)$ (whose co-variance matrix is known).

$dot x(t) = f(x(t),t,u(t)) + w(t)$

Is there a known (open source) solver/library/package/toolbox in MATLAB/python/Julia (with or without adaptive time-stepping capability) that can solve the system?

One Answer

DifferentialEquations.jl in Julia can do it if you can write it in mass-matrix form. You won't find it mentioned in the tutorial, but you can provide a mass matrix as part of the SDEProblem. Some of the stiff solvers can handle the problem (I see it's not well-documented yet which ones, but it's the symplectic and implicit Euler forms).

I will caution that this is pretty new so I would test it on a non-DAEs, i.e. using the mass-matrix functionality and then adding $M^{-1}$ to your SDE equations and checking to make sure that they calculate the same thing. If you notice any discrepancies, please file an issue. The architecture for the implicit handling here is based on the ODE solvers which are very well-tested, but since I see we don't explicitly has a mass matrix SDE test in the continuous integration suite yet I would just do this test before trusting it.

There are no adaptive timestepping algorithms for SDAEs quite yet (only for SDEs)... well... that are released. There is an adaptive timestepping stiff solver for additive noise SDAEs in mass matrix form which is in production but won't be released until after publication. Hopefully in a few months I can edit this post to be a more solid yes, but for now what we have should at least solve the problem.

Answered by Chris Rackauckas on October 23, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP