SciML / SciMLSensitivity.jl

A component of the DiffEq ecosystem for enabling sensitivity analysis for scientific machine learning (SciML). Optimize-then-discretize, discretize-then-optimize, adjoint methods, and more for ODEs, SDEs, DDEs, DAEs, etc.
https://docs.sciml.ai/SciMLSensitivity/stable/
Other
330 stars 70 forks source link

Support state-dependent continuous callbacks with adjoints #374

Closed ChrisRackauckas closed 3 years ago

ChrisRackauckas commented 3 years ago

https://github.com/SciML/DiffEqSensitivity.jl/pull/350 did the discrete callbacks. It shouldn't be much more to similarly wrap the continuous callbacks.

ChrisRackauckas commented 3 years ago

https://github.com/SciML/DiffEqSensitivity.jl/issues/197 should get tested and closed when this is completed.

ChrisRackauckas commented 3 years ago

https://github.com/SciML/DiffEqSensitivity.jl/pull/381 found that it's all good except when u-dependent, so it requires an extra term.

ChrisRackauckas commented 3 years ago

@frankschae was this handled?

frankschae commented 3 years ago

No, it's not done yet. Michael and Stefano pointed me to this paper: https://arxiv.org/abs/2011.03902 but I think the derivation lacks the details about which limit one has to take (I still try to figure that out but generally it looks like that will potentially solve the issue). Maybe @YingboMa could also have a look what term from the chain rule we should add to our code.