Matrix difference equation

A matrix difference equation is a difference equation in which the value of a vector (or sometimes, a matrix) of variables at one point in time is related to its own value at one or more previous points in time, using matrices. The order of the equation is the maximum time gap between any two indicated values of the variable vector. For example,
is an example of a second-order matrix difference equation, in which is an vector of variables and and are matrices. This equation is homogeneous because there is no vector constant term added to the end of the equation. The same equation might also be written as 
or as 
The most commonly encountered matrix difference equations are first-order.
Nonhomogeneous first-order case and the steady state.
An example of a nonhomogeneous first-order matrix difference equation is
with additive constant vector . The steady state of this system is a value of the vector which, if reached, would not be deviated from subsequently. is found by setting in the difference equation and solving for to obtain
where is the "n×n" identity matrix, and where it is assumed that is invertible. Then the nonhomogeneous equation can be rewritten in homogeneous form in terms of deviations from the steady state:
Stability of the first-order case.
The first-order matrix difference equation is stable—that is, converges asymptotically to the steady state —if and only if all eigenvalues of the transition matrix (whether real or complex) have an absolute value which is less than 1.
Solution of the first-order case.
Assume that the equation has been put in the homogeneous form . Then we can iterate and substitute repeatedly from the initial condition , which is the initial value of the vector and which must be known in order to find the solution:
and so forth, so that by mathematical induction the solution in terms of is
Further, if is diagonalizable, we can rewrite in terms of its eigenvalues and eigenvectors, giving the solution as
where is an matrix whose columns are the eigenvectors of (assuming the eigenvalues are all distinct) and is an diagonal matrix whose diagonal elements are the eigenvalues of . This solution motivates the above stability result: shrinks to the zero matrix over time if and only if the eigenvalues of "A" are all less than unity in absolute value.
Extracting the dynamics of a single scalar variable from a first-order matrix system.
Starting from the -dimensional system , we can extract the dynamics of one of the state variables, say . The above solution equation for shows that the solution for is in terms of the eigenvalues of . Therefore the equation describing the evolution of by itself must have a solution involving those same eigenvalues. This description intuitively motivates the equation of evolution of , which is
where the parameters are from the characteristic equation of the matrix :
Thus each individual scalar variable of an -dimensional first-order linear system evolves according to a univariate th-degree difference equation, which has the same stability property (stable or unstable) as does the matrix difference equation.
Solution and stability of higher-order cases.
Matrix difference equations of higher order—that is, with a time lag longer than one period—can be solved, and their stability analyzed, by converting them into first-order form using a block matrix (matrix of matrices). For example, suppose we have the second-order equation
with the variable vector being and and being . This can be stacked in the form
where is the identity matrix and is the zero matrix. Then denoting the stacked vector of current and once-lagged variables as and the block matrix as , we have as before the solution 
Also as before, this stacked equation, and thus the original second-order equation, are stable if and only if all eigenvalues of the matrix are smaller than unity in absolute value.
Nonlinear matrix difference equations: Riccati equations.
In linear-quadratic-Gaussian control, there arises a nonlinear matrix equation for the reverse evolution of a current-and-future-cost "matrix", denoted below as . This equation is called a discrete dynamic Riccati equation, and it arises when a variable vector evolving according to a linear matrix difference equation is controlled by manipulating an exogenous vector in order to optimize a quadratic cost function. This Riccati equation assumes the following, or a similar, form:
where , , and are , is , is , is the number of elements in the vector to be controlled, and is the number of elements in the control vector. The parameter matrices and are from the linear equation, and the parameter matrices and are from the quadratic cost function. See here for details.
In general this equation cannot be solved analytically for in terms of ; rather, the sequence of values for is found by iterating the Riccati equation. However, it has been shown that this Riccati equation can be solved analytically if and , by reducing it to a scalar rational difference equation; moreover, for any and if the transition matrix is nonsingular then the Riccati equation can be solved analytically in terms of the eigenvalues of a matrix, although these may need to be found numerically. 
In most contexts the evolution of backwards through time is stable, meaning that converges to a particular fixed matrix which may be irrational even if all the other matrices are rational. See also .
A related Riccati equation is
in which the matrices , , , , and are all . This equation can be solved explicitly. Suppose , which certainly holds for with and with . Then using this in the difference equation yields 
so by induction the form holds for all . Then the evolution of and can be written as 
Thus by induction