MATLAB: What is the meaning of “This DAE appears to be of index greater than 1” using ODE solvers for solving Differential Algebraic Equations (DAE) in MATLAB 7.4 (R2007a)

MATLAB

I am using ODE15S using a mass matrix and am getting the following error message:
This DAE appears to be of index greater than 1
I am having trouble understanding the meaning of the index of a Differential Algebraic Equation (DAE). Athough I am aware of the HB1DAE example in the documentation, I cannot find any precise definition.

Best Answer

The ODE15S and ODE23T solvers can solve DAEs of the form:
M(t,y)*y'=f(t,y)
where M(t,y) is singular. A singular M(t,y) means that you are trying to solve a Differential Algebraic Equation (DAE).
If so, the DAE must be of index 1.
Rewriting in semi-explicit form, the DAE is in semi-explicit form:
u' = f(t,u,v) (1a)
0 = g(t,u,v) (1b)
The system is of index 1 if the matrix of partial derivatives of the algebraic system g with respect to the algebraic variables (i.e. dg/dv) is non-singular.
Rewriting this in Mass Matrix form:
M(t,y)*y’=F(t,y)
the index 1 condition is satisfied when the matrix (M+lambda*dF/dy) is nonsingular, for all non-zero lambda.
An example of the use of ODE15s used in this type of Differential Algebraic Equation may be found
at the following link: