I'm rather confused on this particular point. What is the difference between an implicit ordinary differential equation of the form:

x' = f(x',x,t);

and a differential algebraic equation of the form:

f(x',x,t) = 0;

I've read some documentation on them online, and while some places mention that implicit ODEs are a special class of DAEs, they're not very clear on the point. Also, is there any specific consideration that needs to be made in regards to numerical solutions of such problems?


I think you have done some mistakes when writing down your equations. An implicit ordinary differential equation can be written: $$f(t,x,x') = 0$$ and a DAE can be written: $$f(t,x,x') = 0$$ and since these two equations are syntactically equal, it is very easy to be confused about the distinction.

First, I want to make one thing clear. When talking about ODEs it is quite alright to talk about just one equation, e.g. the equation $$y'(t) + y(t) + t = 0$$ is an ordinary differential equation.

But when talking about a DAE, you always, in a non-trivial case, talk about a system of equations. If your DAE contains only one equation it will either be a differential equation or an algebraic equation (in this context, algebraic means not containing any derivatives). Thus, in the rest of the post, $f$ and $y$ will be vectors of functions.

Thus, the difference between an implicit ODE system and a DAE system is, in a way, that the DAE system can contain purely algebraic equations and variables. The more technical and correct criterion is that the Jacobian $$\frac{\partial f(t,x,x')}{\partial x'}$$ needs to be non-singular for the system $f(t,x,x') = 0$ to be classified as an implicit ODE.

To make the distinction more clear between a DAE and an implicit ODE, you can split the vector $x$ in two parts, $x_D$, containing the $x$ for which derivatives occur in the DAE and $x_A$, containing the algebraic $x$, i.e. the $x$ for which no derivative occur in the DAE, and we write the DAE on the form $$f(t,x_A,x_D,x_D') = 0.$$ we can also split the function $f$ into two parts: $f_D$ containing the equations containing derivatives and $f_A$ not containing any derivatives.

A classic example of a DAE is the following formulation for the motion of a pendulum: $$\begin{align} 0 &= x' - u \\ 0 &= y' - v \\ 0 &= u' - \lambda x \\ 0 &= v' - \lambda y - g\\ 0 &= x^2 + y^2 - L^2 \end{align}$$ where $L$ (the length of the pendlum) and $g$ (gravitational acceleration) are constants. Classifying the variables as differential (belonging to $x_D$) and algebraic (belonging to $x_A$), we see that $x,y,u,v$ are differential and $\lambda$ is algebraic. All equations except the last (the length constraint) are differential.

We can calculate the Jacobian of this system. We order the functions as above and the variables as follows: $(x,y,u,v,\lambda)$. Then the Jacobian will be: $$\begin{pmatrix} 1 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 \end{pmatrix}$$ which is singular since the last row ad the last column is zero, hence the system is a DAE.

One often wants to apply techniques to a DAE to transform it to a semi-explicit DAE of index 1, which can be written as follows: $$\begin{align} x_D' &= g_D(t,x_D,x_A) \\ 0 &= g_A(t,x_D,x_A) \end{align}$$ because then $g_A$ can, in theory, be solved for $x_A$, which can then be inserted into $g_D$, which can then be integrated numerically.

The pendulum example might look as it is on this form, but its index is not 1.


See the book Computer Methods for Ordinary Differential Equations and Differential-Algebraic Equations by Ascher and Petzold.

  • $\begingroup$ The above book is now found here or as a pdf on ResearchGate. $\endgroup$ – user228680 May 15 '16 at 9:18
  • $\begingroup$ @ManfredHohler, link fixed, thanks. $\endgroup$ – lhf May 15 '16 at 14:12

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.