Differential-Algebraic Equations (DAEs)
Overview of DAEs
The systems of equations that govern certain phenomena (in electrical circuits, chemical kinetics, etc.) contain a combination of differential equations and algebraic equations. The differential equations are responsible for the dynamical evolution of the system, while the algebraic equations serve to constrain the solutions to certain manifolds. It is therefore of some interest to study the solutions of such differential-algebraic equations (DAEs).
These tutorials are restricted to linear DAEs, which are defined as systems of equations of the following type.
Here and are matrix functions of the independent variable , is a vector function of , and is the vector of unknowns. If the matrix is nonsingular (that is, invertible) then this is a system of ODEs. Thus, the system is a DAE if the matrix is singular.
If , then the system is said to be homogeneous. As for ODEs, the general solution to a DAE is composed of the general solution to the corresponding homogeneous problem and a particular solution to the inhomogeneous system.
DSolve can find the solutions to all DAEs in which the entries of the matrices and are constants. Such DAEs are said to have constant coefficients. The algorithm used by DSolve is based on decomposing both and into a nonsingular and nilpotent part. This decomposition is used to calculate a generalized inverse for and , which effectively reduces the problem to solving a system of ODEs.
It is important to realize that the initial values for a DAE must be prescribed carefully to guarantee a solution for the problem. This can be seen by considering the following system of equations.
But this solution is inconsistent with the initial condition .
DSolve can solve DAEs with constant coefficients; see "Examples of DAEs".
Examples of DAEs
Systems of equations with higher-order derivatives are solved by reducing them to first-order systems.
The symbolic solution of DAEs that are nonlinear or have non-constant coefficients is a difficult problem. Such systems can often be solved numerically with the Wolfram Language function NDSolve.