I am totally confused between ODEs which I am familiar with, and differential algebraic equations (DAE) and algebraic differential equations (ADE). Are they the same but just different names or what is the key difference between them (their nature and solution methods)?

  • 1
    $\begingroup$ With respect to solution methods: DAEs are quite a bit harder to deal with. Have a look at the work of Hindmarsh and Petzold, for instance. Conventional methods like RK will not work on them without a lot of assistance. $\endgroup$
    – J. M.
    Commented Apr 24, 2016 at 16:59
  • 2
    $\begingroup$ Don't forget PDE, DDE, SDE... $\endgroup$
    – user541686
    Commented Apr 24, 2016 at 21:52

3 Answers 3


At least one difference is that in a system of ODEs, all the equations are differential, e.g.: $$ \dot{x}=f(x,y)\\ \dot{y}=g(x,y) $$ whereas the definition of DAEs that I'm familiar with includes some non-differential (i.e. algebraic) equations in the set, e.g.: $$ \dot{x}=h(x,y)\\ y=l(x,y) $$ where $l$ is non-trival, and its solution can't be easily substituted into the first equation to simplify. These get more complex when there are more algebraic terms.

DAEs are more challenging numerically; the challenges they entail are similar to but sometimes more severe than those attending stiff problems. A very thorough explanation of DAEs and how to solve them numerically can be found in volume II of the text by Hairer and Wanner.

  • 4
    $\begingroup$ Prolly would have expressed it as $l(x,y)=0$ myself in the second set of equations. $\endgroup$
    – J. M.
    Commented Apr 24, 2016 at 16:55
  • 3
    $\begingroup$ I'm unfamiliar with DAE vs ADE also, but Wikipedia classifies them as different despite the name. The page on ADE also goes out of its way to say they are different. $\endgroup$
    – tpg2114
    Commented Apr 24, 2016 at 17:04
  • $\begingroup$ @J.M., in the long run, I agree, but I was trying to match the theme of the ODE. That being said, all of these can be written in an "equals zero" form if we included the derivatives in the function arguments. $\endgroup$
    – Bill Barth
    Commented Apr 24, 2016 at 17:10
  • $\begingroup$ -1 The formulations written here don't allow for general DAEs. We could say that $\dot{x} = f(x,y)$ is actually $\dot{x}(t) = (f(x, y))(t)$ which is not the same as $\dot{x}(t) = f(x(t), y(t))$; the latter is far more constrained. OTOH, if we interpret those to be the same, then $y(t) = l(x(t), y(t))$ equation is wrong, because it doesn't allow for a derivative term at all -- it's just an algebraic equation. The correct formulation for a DAE is what you see in @adhalanay's answer, which allows for derivatives in algebraic terms. $\endgroup$
    – user541686
    Commented Apr 24, 2016 at 21:55
  • 2
    $\begingroup$ @Mehrdad, well, you're always free to expound in your own answer. I wasn't intending to give a treatise on the issue. $\endgroup$
    – Bill Barth
    Commented Apr 25, 2016 at 1:08

Differential-algebraic equations (DAE) are equations of the form $F(t,x,x')=0$, with the unknown function being $x(t)$. So in a way are generalizations of ODEs. A nice place to start is here. On the other hand an algebraic differential equation is a totally different thing. The wikipedia page gives an overview, but basically is an equation involving differential operators on a differential algebra.


Here is an identical copy of an answer on MO:

One intuitive way to understand a DAE is to interpret it as a dynamical system which can be controlled by some input signals, whose output signals have to satisfy some (equational) constraints. For a typical multibody system, the input signals are the forces perpendicular to the constraints, the output signals are the positions of the bodies, and the (equational) constraints on the output signals are fixed distances between the bodies.

The input signals must now control the dynamical system in such a way that the output signals always satisfy the constraints. This is difficult for a multibody system, because the forces only control the rate of change of the velocities, and the velocities only control the rate of change of the positions, while only the positions must satisfy the constraints.

Reducing the index is easy in theory, because if we assume that the positions satisfy the constraints at the current time instance, then we can just replace the constraints on the positions by constraints on the velocities ensuring that the positions will continue to satisfy their constraints. In practice however, we don't want to throw away the constraint on the positions after we determined the constraints on the velocities, but we do have to throw away some of the initial (differential) equations, if we don't want to end with an overdetermined system.

Determining the constraints on the velocities from the constraints on the positions might be tedious in practice, but at least it is straightforward (and canonical) once you understood the principle. The constraint $c(y,t)=0$ implies $\frac{d}{dt}c(y(t),t)=0=\frac{\partial c}{\partial y}*\frac{d}{dt}y+\frac{\partial c}{\partial y}$. This is not an (equational) constraint yet, because $\frac{d}{dt}y$ is not a variable but only the derivative of a variable. But the other differential equations allow us to express $\frac{d}{dt}y$ as a function of the variables, in our case $\frac{d}{dt}y=v$ for $v=\dot{y}$, so we get the equational constraint $0=\frac{\partial c}{\partial y}*v+\frac{\partial c}{\partial y}$ (or rather $0=\frac{\partial c}{\partial y}*\dot{y}+\frac{\partial c}{\partial y}$ if you manage to not get confused by using $\dot{y}$ as a variable instead of the derivative of a variable).

Throwing away some of the initial (differential) equations is less straight forward (or canonical). If we can use a constraint equation like $y_1^2+y_2^2=1$ to determine $y_1$ as a function of the other variables (i.e. $y_1(t)=\sqrt{1-(y_2(t))^2}$ in this case), then we can throw away the differential equation for $y_1$, i.e. a differential equation of the form $\frac{d}{dt}y_1=\dots$. But we might have also decided to throw away the differential equation for $y_2$ instead, because the constraint also allow to determine $y_2$ as a function of the other variables. But no matter how easy it is to throw something away, this can easily destroy some symmetry of the system we didn't want to destroy, or we might be forced to switch which equation we throw away during the numerical simulation and thereby introduce undesired artifacts. So this part makes index reduction really challenging in practice.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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