-
-
Notifications
You must be signed in to change notification settings - Fork 167
Description
Dear Patrick,
Thanks for this library, it's pretty neat!
I'm currently supervising a bachelor's students thesis on NeuralODEs, and we've been meaning to use diffrax to study delay differential equations. I'm currently trying to implement a delay differential equations solver inside diffrax, and I would like to know if I'm in the right track.
For context, let me give a brief overview of how delay differential equations work, and how such a solver could be implemented. In it's simplest form, a (constant) Delay Differential Equation (DDE) has a vector field
Initial value problems involving DDEs provide a history instead of a single initial value (
In practice, solving a DDE numerically can be done by selecting the right step-size such that y_{t+1} we need to evaluate the vector field in y_{t} and in some y_{t-k} corresponding to
How could I adapt diffrax to let me pass terms of the form f(t, y(t), y(t-tau))dt? I imagine I have to implement a new DelayTerm that inherits from AbstractTerm with a different vf method; since solvers need to evaluate these vector fields, I imagine I would also need to modify/create a new one in which vf is called with the right signature, right?
I'm of course happy to contribute the implementation to diffrax once it's up and running.