A neutral delay differential equation is one where the derivative does not only depend on its past state, but also the derivative at a past point:

$$ \dot{y}(t) = f\big(t, y(t), y(t-τ_1), y(t-τ_2), …, \dot{y}(t-τ_1), \dot{y}(t-τ_2), …\big).$$

A clear problem when numerically integrating such DDEs is the initial discontinuity, i.e., discrepancies between $\dot{y}(t_0)$ as defined through the initial past and $f(y(t_0))$, where $t_0$ is the starting time of the numerical integration. For regular (retarded) DDEs this discontinuity quickly smooths out and thus can be defused with a few targeted steps in the beginning. For neutral DDEs, this does not happen.

Actual Question

When talking about numerically integrating neutral DDEs, all the literature I surveyed so far only mentions initial discontinuities as a new problem (in comparison to retarded DDEs). Is there any other problem that makes these kind of DDEs require special attention?


Nope, that is pretty much the issue. With "normal DDEs" you know that the order of the discontinuity will decrease each time it is hit, so after $n$ times you can drop it (if $n$ is the order of the discretization). But for neutral DDEs, the order of the discontinuity doesn't necessarily drop after each time, so you have to continue to track them. This can get extremely costly if you have multiple delays because then you have to track every combination which adds up quickly and drives the stepsize down.

For other methods, of course you can get around that by relying purely on residual control but that gets far too costly when the discontinuities pile up so I haven't seen someone actually recommend doing this. There is an alternative approach by Shampine for the solve ddesnd which can be found at his website (interestingly, this one was never added into the MATLAB ODE Suite) and does so by a "dissipative" transformation to a retarded DDE.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.