# Matrix differential equation

A differential equation is a mathematical equation for an unknown function of one or several variables that relates the values of the function itself and its derivatives of various orders. A matrix differential equation contains more than one function stacked into vector form with a matrix relating the functions to their derivatives.
For example, a first-order matrix ordinary differential equation is
    $\mathbf {\dot {x}} (t)=\mathbf {A} (t)\mathbf {x} (t)$
where $\mathbf {x} (t)$ is an $n\times 1$ vector of functions of an underlying variable $t$, $\mathbf {\dot {x}} (t)$ is the vector of first derivatives of these functions, and $\mathbf {A} (t)$ is an $n\times n$ matrix of coefficients.
In the case where $\mathbf {A}$ is constant and has n linearly independent eigenvectors, this differential equation has the following general solution,
    $\mathbf {x} (t)=c_{1}e^{\lambda _{1}t}\mathbf {u} _{1}+c_{2}e^{\lambda _{2}t}\mathbf {u} _{2}+\cdots +c_{n}e^{\lambda _{n}t}\mathbf {u} _{n}~,$
where λ$_1$, λ$_2$, …, λ$_n$ are the eigenvalues of A; u$_1$, u$_2$, …, u$_n$ are the respective eigenvectors of A; and c$_1$, c$_2$, …, c$_n$ are constants.
More generally, if $\mathbf {A} (t)$ commutes with its integral $\int _{a}^{t}\mathbf {A} (s)ds$ then the Magnus expansion reduces to leading order, and the general solution to the differential equation is
    $\mathbf {x} (t)=e^{\int _{a}^{t}\mathbf {A} (s)ds}\mathbf {c} ~,$
where $\mathbf {c}$ is an $n\times 1$ constant vector.
By use of the Cayley–Hamilton theorem and Vandermonde-type matrices, this formal matrix exponential solution may be reduced to a simple form. Below, this solution is displayed in terms of Putzer's algorithm.

## Stability and steady state of the matrix system

The matrix equation
    $\mathbf {\dot {x}} (t)=\mathbf {Ax} (t)+\mathbf {b}$
with n×1 parameter constant vector b is stable if and only if all eigenvalues of the constant matrix A have a negative real part.
The steady state x* to which it converges if stable is found by setting
    $\mathbf {\dot {x}} ^{*}(t)=\mathbf {0} ~,$
thus yielding
    $\mathbf {x} ^{*}=-\mathbf {A} ^{-1}\mathbf {b} ~,$
assuming A is invertible.
Thus, the original equation can be written in the homogeneous form in terms of deviations from the steady state,
    $\mathbf {\dot {x}} (t)=\mathbf {A} [\mathbf {x} (t)-\mathbf {x} ^{*}]~.$
An equivalent way of expressing this is that x* is a particular solution to the inhomogeneous equation, while all solutions are in the form
    $\mathbf {x} _{h}+\mathbf {x} ^{*}~,$
with $\mathbf {x} _{h}$ a solution to the homogeneous equation (b=0).

### Stability of the two-state-variable case

In the n = 2 case (with two state variables), the stability conditions that the two eigenvalues of the transition matrix A each have a negative real part are equivalent to the conditions that the trace of A be negative and its determinant be positive.

## Solution in matrix form

The formal solution of $\mathbf {\dot {x}} (t)=\mathbf {A} [\mathbf {x} (t)-\mathbf {x} ^{*}]$ has the matrix exponential form
    $\mathbf {x} (t)=\mathbf {x} ^{*}+e^{\mathbf {A} t}[\mathbf {x} (0)-\mathbf {x} ^{*}]~,$
evaluated using any of a multitude of techniques.

### Putzer Algorithm for computing e$^{At}$

Given a matrix A with eigenvalues $\lambda _{1},\lambda _{2},\dots ,\lambda _{n}$,
    $e^{\mathbf {A} t}=\sum _{j=0}^{n-1}r_{j+1}{\left(t\right)}\mathbf {P} _{j}$
where
    $\mathbf {P} _{0}=\mathbf {I}$
    $\mathbf {P} _{j}=\prod _{k=1}^{j}\left(\mathbf {A} -\lambda _{k}\mathbf {I} \right)=\mathbf {P} _{j-1}\left(\mathbf {A} -\lambda _{j}\mathbf {I} \right),\qquad j=1,2,\dots ,n-1$
    ${\dot {r}}_{1}=\lambda _{1}r_{1}$
    $r_{1}{\left(0\right)}=1$
    ${\dot {r}}_{j}=\lambda _{j}r_{j}+r_{j-1},\qquad j=2,3,\dots ,n$
    $r_{j}{\left(0\right)}=0,\qquad j=2,3,\dots ,n$
The equations for $r_{i}(t)$ are simple first order inhomogeneous ODEs.
Note the algorithm does not require that the matrix A be diagonalizable and bypasses complexities of the Jordan canonical forms normally utilized.

## Deconstructed example of a matrix ordinary differential equation

A first-order homogeneous matrix ordinary differential equation in two functions x(t) and y(t), when taken out of matrix form, has the following form:
    ${\frac {dx}{dt}}=a_{1}x+b_{1}y,\quad {\frac {dy}{dt}}=a_{2}x+b_{2}y$
where $a_{1}$, $a_{2}$, $b_{1}$, and $b_{2}$ may be any arbitrary scalars.
Higher order matrix ODE's may possess a much more complicated form.

## Solving deconstructed matrix ordinary differential equations

The process of solving the above equations and finding the required functions of this particular order and form consists of 3 main steps. Brief descriptions of each of these steps are listed below:
* Finding the eigenvalues
* Finding the eigenvectors
* Finding the needed functions
The final, third, step in solving these sorts of ordinary differential equations is usually done by means of plugging in the values calculated in the two previous steps into a specialized general form equation, mentioned later in this article.

## Solved example of a matrix ODE

To solve a matrix ODE according to the three steps detailed above, using simple matrices in the process, let us find, say, a function x and a function y both in terms of the single independent variable t, in the following homogeneous linear differential equation of the first order,
    ${\frac {dx}{dt}}=3x-4y,\quad {\frac {dy}{dt}}=4x-7y~.$
To solve this particular ordinary differential equation system, at some point in the solution process, we shall need a set of two initial values (corresponding to the two state variables at the starting point). In this case, let us pick x(0) = y(0) = 1.

### First step

The first step, already mentioned above, is finding the eigenvalues of A in
    ${\begin{bmatrix}x'\\y'\end{bmatrix}}={\begin{bmatrix}3&-4\\4&-7\end{bmatrix}}{\begin{bmatrix}x\\y\end{bmatrix}}~.$
The derivative notation x′ etc. seen in one of the vectors above is known as Lagrange's notation (first introduced by Joseph Louis Lagrange. It is equivalent to the derivative notation dx/dt used in the previous equation, known as Leibniz's notation, honoring the name of Gottfried Leibniz.)
Once the coefficients of the two variables have been written in the matrix form A displayed above, one may evaluate the eigenvalues. To that end, one finds the determinant of the matrix that is formed when an identity matrix, $I_{n}$, multiplied by some constant λ, is subtracted from the above coefficient matrix to yield the characteristic polynomial of it,
    $\det \left({\begin{bmatrix}3&-4\\4&-7\end{bmatrix}}-\lambda {\begin{bmatrix}1&0\\0&1\end{bmatrix}}\right)~,$
and solve for its zeroes.
Applying further simplification and basic rules of matrix addition yields
    $\det {\begin{bmatrix}3-\lambda &-4\\4&-7-\lambda \end{bmatrix}}~.$
Applying the rules of finding the determinant of a single 2×2 matrix, yields the following elementary quadratic equation,
    $\det {\begin{bmatrix}3-\lambda &-4\\4&-7-\lambda \end{bmatrix}}=0$
    $-21-3\lambda +7\lambda +\lambda ^{2}+16=0\,\!$
which may be reduced further to get a simpler version of the above,
    $\lambda ^{2}+4\lambda -5=0~.$
Now finding the two roots, $\lambda _{1}$ and $\lambda _{2}$ of the given quadratic equation by applying the factorization method yields
    $\lambda ^{2}+5\lambda -\lambda -5=0$
    $\lambda (\lambda +5)-1(\lambda +5)=0$
    $(\lambda -1)(\lambda +5)=0$
    $\lambda =1,-5~.$
The values $\lambda _{1}=1$ and $\lambda _{2}=-5$, calculated above are the required eigenvalues of A. In some cases, say other matrix ODE's, the eigenvalues may be complex, in which case the following step of the solving process, as well as the final form and the solution, may dramatically change.

### Second step

As mentioned above, this step involves finding the eigenvectors of A from the information originally provided.
For each of the eigenvalues calculated, we have an individual eigenvector. For the first eigenvalue, which is $\lambda _{1}=1$, we have
    ${\begin{bmatrix}3&-4\\4&-7\end{bmatrix}}{\begin{bmatrix}\alpha \\\beta \end{bmatrix}}=1{\begin{bmatrix}\alpha \\\beta \end{bmatrix}}.$
Simplifying the above expression by applying basic matrix multiplication rules yields
    $3\alpha -4\beta =\alpha$
    $\alpha =2\beta ~.$
All of these calculations have been done only to obtain the last expression, which in our case is α = 2β. Now taking some arbitrary value, presumably, a small insignificant value, which is much easier to work with, for either α or β (in most cases, it does not really matter), we substitute it into α = 2β. Doing so produces a simple vector, which is the required eigenvector for this particular eigenvalue. In our case, we pick α = 2, which, in turn determines that β = 1 and, using the standard vector notation, our vector looks like
    $\mathbf {\hat {v}} _{1}={\begin{bmatrix}2\\1\end{bmatrix}}.$
Performing the same operation using the second eigenvalue we calculated, which is $\lambda =-5$, we obtain our second eigenvector. The process of working out this vector is not shown, but the final result is
    $\mathbf {\hat {v}} _{2}={\begin{bmatrix}1\\2\end{bmatrix}}.$

### Third step

This final step finds the required functions that are 'hidden' behind the derivatives given to us originally. There are two functions, because our differential equations deal with two variables.
The equation which involves all the pieces of information that we have previously found, has the following form:
    ${\begin{bmatrix}x\\y\end{bmatrix}}=Ae^{\lambda _{1}t}\mathbf {\hat {v}} _{1}+Be^{\lambda _{2}t}\mathbf {\hat {v}} _{2}.$
Substituting the values of eigenvalues and eigenvectors yields
    ${\begin{bmatrix}x\\y\end{bmatrix}}=Ae^{t}{\begin{bmatrix}2\\1\end{bmatrix}}+Be^{-5t}{\begin{bmatrix}1\\2\end{bmatrix}}.$
Applying further simplification,
    ${\begin{bmatrix}x\\y\end{bmatrix}}={\begin{bmatrix}2&1\\1&2\end{bmatrix}}{\begin{bmatrix}Ae^{t}\\Be^{-5t}\end{bmatrix}}.$
Simplifying further and writing the equations for functions x and y separately,
    $x=2Ae^{t}+Be^{-5t}$
    $y=Ae^{t}+2Be^{-5t}.$
The above equations are, in fact, the general functions sought, but they are in their general form (with unspecified values of A and B), whilst we want to actually find their exact forms and solutions. So now we consider the problem’s given initial conditions (the problem including given initial conditions is the so-called initial value problem). Suppose we are given $x(0)=y(0)=1$, which plays the role of starting point for our ordinary differential equation; application of these conditions specifies the constants, A and B. As we see from the $x(0)=y(0)=1$ conditions, when t = 0, the left sides of the above equations equal 1. Thus we may construct the following system of linear equations,
    $1=2A+B$
    $1=A+2B~.$
Solving these equations, we find that both constants A and B equal 1/3. Therefore substituting these values into the general form of these two functions specifies their exact forms, $x={\tfrac {2}{3}}e^{t}+{\tfrac {1}{3}}e^{-5t}$ $y={\tfrac {1}{3}}e^{t}+{\tfrac {2}{3}}e^{-5t}~,$ the two functions sought.

### Using matrix exponentiation

The above problem could have been solved with a direct application of the matrix exponential. That is, we can say that
${\begin{bmatrix}x(t)\\y(t)\end{bmatrix}}=\exp \left({\begin{bmatrix}3&-4\\4&-7\end{bmatrix}}t\right){\begin{bmatrix}x_{0}(t)\\y_{0}(t)\end{bmatrix}}$
Given that (which can be computed using any suitable tool, such as MATLAB's expm tool, or by performing matrix diagonalisation and leveraging the property that the matrix exponential of a diagonal matrix is the same as element-wise exponentiation of its elements)
$\exp \left({\begin{bmatrix}3&-4\\4&-7\end{bmatrix}}t\right)={\begin{bmatrix}4e^{t}/3-e^{-5t}/3&2e^{-5t}/3-2e^{t}/3\\2e^{t}/3-2e^{-5t}/3&4e^{-5t}/3-e^{t}/3\end{bmatrix}}$
the final result is
${\begin{bmatrix}x(t)\\y(t)\end{bmatrix}}={\begin{bmatrix}4e^{t}/3-e^{-5t}/3&2e^{-5t}/3-2e^{t}/3\\2e^{t}/3-2e^{-5t}/3&4e^{-5t}/3-e^{t}/3\end{bmatrix}}{\begin{bmatrix}1\\1\end{bmatrix}}$
${\begin{bmatrix}x(t)\\y(t)\end{bmatrix}}={\begin{bmatrix}e^{-5t}/3+2e^{t}/3\\e^{t}/3+2e^{-5t}/3\end{bmatrix}}$
This is the same as the eigenvector approach shown before.