Speaker
Description
We present the toolkit IFDIFF [1] for integration and sensitivity generation in parameterized implicitly (state-dependent) switched ODEs whose right-hand side is given as Matlab code containing non-differentiable operators (max, abs, etc.) and conditionals (if).
Naive implementations using IF-THEN-ELSE branching give unreliable simulation results without warning, as switching events are undetectable by standard integrators. The widespread belief that this can be countered using more stringent integration tolerances is wrong: We give a simple example where the integrator’s error estimation always delivers zero. Correct treatment of switched systems requires elaborate formulation of switching functions and tailored integrators, placing high mathematical demands on modelers. Even small model changes often imply considerable reformulation effort. Further, n switches generate up to 2$^n$ possible program flows and switching functions, rendering a-priori formulations infeasible already in medium-sized models.
IFDIFF programmatically handles switching events, auto-generating only required switching functions. It determines switching times up to machine precision, thus ensuring accurate simulation and sensitivity results. Transparently extending the Matlab integrators (ode45, ode15s, etc.), IFDIFF is applicable to existing code containing state- and parameter-dependent conditionals with only minor code adjustments, thus enabling fast prototyping and relieving modelers of mathematical-technical effort.
In this talk, we will discuss Filippov extensions that allow IFDIFF to detect and cope with certain Fillipov behavior during integration. Automatically switching into sliding-mode, IFDIFF determines a suitable convex combination of multiple right-hand sides and integrates along the switching manifold.
[1] IFDIFF - A Matlab Toolkit for ODEs with State_Dependent Switches
https://andreassommer.github.io/ifdiff/