Jump to content

Matrix difference equation: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Math formatting – make all matrices and vectors in boldface, consistent brackets etc
Line 1: Line 1:
A '''matrix difference equation'''<ref>Cull, Paul; [[Mary Flahive|Flahive, Mary]]; and Robson, Robbie. ''Difference Equations: From Rabbits to Chaos'', Springer, 2005, chapter 7; {{ISBN|0-387-23234-6}}.</ref><ref>Chiang, Alpha C., ''Fundamental Methods of Mathematical Economics'', third edition, McGraw-Hill, 1984: 608&ndash;612.</ref> is a [[difference equation]] in which the value of a [[Euclidean vector#Representations|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 [[Matrix (mathematics)|matrices]]. The '''order''' of the equation is the maximum time gap between any two indicated values of the variable vector. For example,
A '''matrix difference equation'''<ref>{{cite book|last1=Cull|first1=Paul|author2-link=Mary Flahive|last2=Flahive|first2=Mary|last3=Robson|first3=Robbie|title=Difference Equations: From Rabbits to Chaos|publisher=Springer|date=2005|at=ch. 7|ISBN=0-387-23234-6}}</ref><ref>{{cite book|last=Chiang|first=Alpha C.|title=Fundamental Methods of Mathematical Economics|edition=3rd|publisher=McGraw-Hill|date=1984|pages=608–612}}</ref> is a [[difference equation]] in which the value of a [[Euclidean vector#Representations|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 [[Matrix (mathematics)|matrices]]. The '''order''' of the equation is the maximum time gap between any two indicated values of the variable vector. For example,


:<math>x_t = Ax_{t-1} + Bx_{t-2}</math>
:<math>\mathbf{x}_t = \mathbf{A}\mathbf{x}_{t-1} + \mathbf{B}\mathbf{x}_{t-2}</math>


is an example of a second-order matrix difference equation, in which ''x'' is an ''n'' × 1 vector of variables and ''A'' and ''B'' are ''n×n'' 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
is an example of a second-order matrix difference equation, in which {{math|'''x'''}} is an {{math|''n'' × 1}} vector of variables and {{math|'''A'''}} and {{math|'''B'''}} are {{math|''n'' × ''n''}} 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


:<math>x_{t+2} = Ax_{t+1} + Bx_{t}</math>
:<math>\mathbf{x}_{t+2} = \mathbf{A}\mathbf{x}_{t+1} + \mathbf{B}\mathbf{x}_{t}</math>


or as
or as


:<math>x_n = Ax_{n-1} + Bx_{n-2}</math>.
:<math>\mathbf{x}_n = \mathbf{A}\mathbf{x}_{n-1} + \mathbf{B}\mathbf{x}_{n-2}</math>


The most commonly encountered matrix difference equations are first-order.
The most commonly encountered matrix difference equations are first-order.


==Non-homogeneous first-order case and the steady state==
==Nonhomogeneous first-order case and the steady state==


An example of a non-homogeneous first-order matrix difference equation is
An example of a nonhomogeneous first-order matrix difference equation is


:<math>x_t = Ax_{t-1} + b </math>
:<math>\mathbf{x}_t = \mathbf{A}\mathbf{x}_{t-1} + \mathbf{b} </math>


with additive constant vector ''b''. The steady state of this system is a value ''x*'' of the vector ''x'' which, if reached, would not be deviated from subsequently. ''x*'' is found by setting <math>x_t = x_{t-1}=x^{*}</math> in the difference equation and solving for ''x*'' to obtain
with additive constant vector {{math|'''b'''}}. The steady state of this system is a value {{math|'''x'''*}} of the vector {{math|'''x'''}} which, if reached, would not be deviated from subsequently. {{math|'''x'''*}} is found by setting {{math|'''x'''<sub>''t''</sub> {{=}} '''x'''<sub>''t''−1</sub> {{=}} '''x'''*}} in the difference equation and solving for {{math|'''x'''*}} to obtain


:<math> x^{*} = [I-A]^{-1}b </math>
:<math> \mathbf{x}^* = [\mathbf{I}-\mathbf{A}]^{-1}\mathbf{b} </math>


where <math>I</math> is the ''n×n'' [[identity matrix]], and where it is assumed that <math>[I-A]</math> is invertible. Then the non-homogeneous equation can be rewritten in homogeneous form in terms of deviations from the steady state:
where {{math|'''I'''}} is the ''n×n'' [[identity matrix]], and where it is assumed that {{math|['''I''' − '''A''']}} is [[Matrix inversion|invertible]]. Then the nonhomogeneous equation can be rewritten in homogeneous form in terms of deviations from the steady state:


:<math> [x_t - x^{*}] = A[x_{t-1}-x^{*}]. </math>
:<math> \left[\mathbf{x}_t - \mathbf{x}^*\right] = \mathbf{A}\left[\mathbf{x}_{t-1}-\mathbf{x}^*\right] </math>


==Stability of the first-order case==
==Stability of the first-order case==


The first-order matrix difference equation [''x''<sub>''t''</sub> - ''x''*] = ''A''[''x''<sub>''t''-1</sub>-''x''*] is [[stability theory|stable]]&mdash;that is, <math>x_t</math> converges asymptotically to the steady state ''x*''&mdash;if and only if all [[eigenvalue]]s of the transition matrix ''A'' (whether real or complex) have an [[absolute value]] which is less than 1.
The first-order matrix difference equation {{math|['''x'''<sub>''t''</sub> '''x'''*] {{=}} '''A'''['''x'''<sub>''t''−1</sub> − '''x'''*]}} is [[stability theory|stable]]&mdash;that is, {{math|'''x'''<sub>''t''</sub>}} converges asymptotically to the steady state {{math|'''x'''*}}&mdash;if and only if all [[eigenvalue]]s of the transition matrix {{math|'''A'''}} (whether real or complex) have an [[absolute value]] which is less than 1.


==Solution of the first-order case==
==Solution of the first-order case==


Assume that the equation has been put in the homogeneous form <math>y_t = Ay_{t-1}</math>. Then we can iterate and substitute repeatedly from the [[initial condition]] <math>y_0</math>, which is the initial value of the vector ''y'' and which must be known in order to find the solution:
Assume that the equation has been put in the homogeneous form {{math|'''y'''<sub>t</sub> {{=}} '''Ay'''<sub>''t''−1</sub>}}. Then we can iterate and substitute repeatedly from the [[initial condition]] {{math|'''y'''<sub>0</sub>}}, which is the initial value of the vector {{math|'''y'''}} and which must be known in order to find the solution:


:<math>y_1=Ay_0,</math>
:<math>\begin{align}
\mathbf{y}_1&=\mathbf{A}\mathbf{y}_0 \\
:<math>y_2=Ay_1=AAy_0 = A^{2}y_0,</math>
\mathbf{y}_2&=\mathbf{A}\mathbf{y}_1=\mathbf{A}^2\mathbf{y}_0 \\
:<math>y_3=Ay_2=AA^{2}y_0=A^{3}y_0,</math>
\mathbf{y}_3&=\mathbf{A}\mathbf{y}_2=\mathbf{A}^3\mathbf{y}_0
\end{align}</math>


and so forth, so that by [[mathematical induction]] the solution in terms of ''t'' is
and so forth, so that by [[mathematical induction]] the solution in terms of {{math|''t''}} is


:<math>y_t=A^t y_0.</math>
:<math>\mathbf{y}_t=\mathbf{A}^t \mathbf{y}_0</math>


Further, if A is diagonalizable, we can rewrite ''A'' in terms of its eigenvalues and eigenvectors, giving the solution as
Further, if {{math|'''A'''}} is diagonalizable, we can rewrite {{math|'''A'''}} in terms of its [[eigenvalues and eigenvectors]], giving the solution as


:<math>y_t = PD^{t}P^{-1} y_0,</math>
:<math>\mathbf{y}_t = \mathbf{P}\mathbf{D}^{t}\mathbf{P}^{-1} \mathbf{y}_0,</math>


where ''P'' is an ''n'' × ''n'' matrix whose columns are the [[eigenvector]]s of ''A'' (assuming the eigenvalues are all distinct) and ''D'' is an ''n'' × ''n'' diagonal matrix whose diagonal elements are the eigenvalues of ''A''. This solution motivates the above stability result: <math>A^t</math> shrinks to the zero matrix over time if and only if the eigenvalues of ''A'' are all less than unity in absolute value.
where {{math|'''P'''}} is an {{math|''n'' × ''n''}} matrix whose columns are the [[eigenvector]]s of {{math|'''A'''}} (assuming the eigenvalues are all distinct) and {{math|'''D'''}} is an {{math|''n'' × ''n''}} [[diagonal matrix]] whose diagonal elements are the eigenvalues of {{math|'''A'''}}. This solution motivates the above stability result: {{math|'''A'''<sup>''t''</sup>}} 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==
==Extracting the dynamics of a single scalar variable from a first-order matrix system==


Starting from the ''n''-dimensional system <math>y_t = Ay_{t-1},</math> we can extract the dynamics of one of the state variables, say <math>y_1.</math> The above solution equation for <math>y_t</math> shows that the solution for <math>y_{1,t}</math> is in terms of the ''n'' eigenvalues of ''A''. Therefore the equation describing the evolution of <math>y_1</math> by itself must have a solution involving those same eigenvalues. This description intuitively motivates the equation of evolution of <math>y_1,</math> which is
Starting from the {{math|''n''}}-dimensional system {{math|'''y'''<sub>''t''</sub> {{=}} '''Ay'''<sub>''t''−1</sub>}}, we can extract the dynamics of one of the state variables, say {{math|''y''<sub>1</sub>}}. The above solution equation for {{math|''y''<sub>''t''</sub>}} shows that the solution for {{math|''y''<sub>1,''t''</sub>}} is in terms of the {{math|''n''}} eigenvalues of {{math|'''A'''}}. Therefore the equation describing the evolution of {{math|''y''<sub>1</sub>}} by itself must have a solution involving those same eigenvalues. This description intuitively motivates the equation of evolution of {{math|''y''<sub>1</sub>}}, which is


:<math> y_{1,t} = a_1 y_{1,t-1} + a_2 y_{1,t-2} + \dots + a_n y_{1,t-n}</math>
:<math> y_{1,t} = a_1 y_{1,t-1} + a_2 y_{1,t-2} + \dots + a_n y_{1,t-n}</math>


where the parameters <math>a_i</math> are from the [[Characteristic equation (calculus)|characteristic equation]] of the matrix ''A'':
where the parameters {{math|''a''<sub>''i''</sub>}} are from the [[Characteristic equation (calculus)|characteristic equation]] of the matrix {{math|'''A'''}}:


:<math>\lambda^{n} - a_1 \lambda^{n-1} - a_2 \lambda^{n-2} - \dots - a_n \lambda^{0} = 0.</math>
:<math>\lambda^{n} - a_1 \lambda^{n-1} - a_2 \lambda^{n-2} - \dots - a_n \lambda^{0} = 0.</math>


Thus each individual scalar variable of an ''n''-dimensional first-order linear system evolves according to a univariate ''n''<sup>th</sup> degree difference equation, which has the same stability property (stable or unstable) as does the matrix difference equation.
Thus each individual scalar variable of an {{math|''n''}}-dimensional first-order linear system evolves according to a univariate {{math|''n''}}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==
==Solution and stability of higher-order cases==


Matrix difference equations of higher order&mdash;that is, with a time lag longer than one period&mdash;can be solved, and their stability analyzed, by converting them into first-order form using a block matrix. For example, suppose we have the second-order equation
Matrix difference equations of higher order&mdash;that is, with a time lag longer than one period&mdash;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


:<math>x_t = Ax_{t-1} + Bx_{t-2}</math>
:<math>\mathbf{x}_t = \mathbf{A}\mathbf{x}_{t-1} + \mathbf{B}\mathbf{x}_{t-2}</math>


with the variable vector ''x'' being ''n''×1 and ''A'' and ''B'' being ''n''×''n''. This can be stacked in the form
with the variable vector {{math|'''x'''}} being {{math|''n'' × 1}} and {{math|'''A'''}} and {{math|'''B'''}} being {{math|''n'' × ''n''}}. This can be stacked in the form


:<math>\begin{pmatrix}x_t \\ x_{t-1} \\ \end{pmatrix} = \begin{pmatrix} \text{A} & \text{B} \\ \text{I} & 0 \\ \end{pmatrix} \begin{pmatrix} x_{t-1} \\ x_{t-2} \end{pmatrix}, </math>
:<math>\begin{bmatrix}\mathbf{x}_t \\ \mathbf{x}_{t-1} \\ \end{bmatrix} = \begin{bmatrix} \mathbf{A} & \mathbf{B} \\ \mathbf{I} & \mathbf{0} \\ \end{bmatrix} \begin{bmatrix} \mathbf{x}_{t-1} \\ \mathbf{x}_{t-2} \end{bmatrix} </math>


where <math>I</math> is the ''n''×''n'' [[identity matrix]] and 0 is the ''n''×''n'' [[zero matrix]]. Then denoting the 2''n''×1 stacked vector of current and once-lagged variables as <math>z_t</math> and the 2''n''×2''n'' block matrix as ''L'', we have as before the solution
where {{math|'''I'''}} is the {{math|''n'' × ''n''}} [[identity matrix]] and {{math|'''0'''}} is the {{math|''n'' × ''n''}} [[zero matrix]]. Then denoting the {{math|2''n'' × 1}} stacked vector of current and once-lagged variables as {{math|'''z'''<sub>''t''</sub>}} and the {{math|2''n'' × 2''n''}} block matrix as {{math|'''L'''}}, we have as before the solution


:<math>z_t = L^{t} z_0. </math>
:<math>\mathbf{z}_t = \mathbf{L}^t \mathbf{z}_0 </math>


Also as before, this stacked equation and thus the original second-order equation are stable if and only if all eigenvalues of the matrix ''L'' are smaller than unity in absolute value.
Also as before, this stacked equation and thus the original second-order equation are stable if and only if all eigenvalues of the matrix {{math|'''L'''}} are smaller than unity in absolute value.


==Nonlinear matrix difference equations: Riccati equations==
==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 ''H''. 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 [[exogeny|exogenous]] vector in order to optimize a [[quadratic function|quadratic]] [[Multi-objective optimization|cost function]]. This Riccati equation assumes the following, or a similar, form:
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 {{math|'''H'''}}. 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 [[exogeny|exogenous]] vector in order to optimize a [[quadratic function|quadratic]] [[Multi-objective optimization|cost function]]. This Riccati equation assumes the following, or a similar, form:


: <math> H_{t-1} = K +A'H_tA - A'H_tC(C'H_tC+R)^{-1}C'H_tA, </math>
: <math> \mathbf{H}_{t-1} = \mathbf{K} +\mathbf{A}'\mathbf{H}_t\mathbf{A} - \mathbf{A}'\mathbf{H}_t\mathbf{C}\left[\mathbf{C}'\mathbf{H}_t\mathbf{C}+\mathbf{R}\right]^{-1}\mathbf{C}'\mathbf{H}_t\mathbf{A} </math>


where ''H'', ''K'', and ''A'' are ''n''×''n'', ''C'' is ''n''×''k'', ''R'' is ''k''×''k'', ''n'' is the number of elements in the vector to be controlled, and ''k'' is the number of elements in the control vector. The parameter matrices ''A'' and ''C'' are from the linear equation, and the parameter matrices ''K'' and ''R'' are from the quadratic cost function. See [[Algebraic Riccati equation#Context of the discrete-time algebraic Riccati equation|here]] for details.
where {{math|'''H'''}}, {{math|'''K'''}}, and {{math|'''A'''}} are {{math|''n'' × ''n''}}, {{math|'''C'''}} is {{math|''n'' × ''k''}}, {{math|'''R'''}} is {{math|''k'' × ''k''}}, {{math|''n''}} is the number of elements in the vector to be controlled, and {{math|''k''}} is the number of elements in the control vector. The parameter matrices {{math|'''A'''}} and {{math|'''C'''}} are from the linear equation, and the parameter matrices {{math|'''K'''}} and {{math|'''R'''}} are from the quadratic cost function. See [[Algebraic Riccati equation#Context of the discrete-time algebraic Riccati equation|here]] for details.


In general this equation cannot be solved analytically for <math>H_t</math> in terms of ''t'' ; rather, the sequence of values for <math>H_t</math> is found by iterating the Riccati equation. However, it was shown in <ref>Balvers, Ronald J., and Mitchell, Douglas W., "Reducing the dimensionality of linear quadratic control problems," ''[[Journal of Economic Dynamics and Control]]'' 31, 2007, 141&ndash;159.</ref> that this Riccati equation can be solved analytically if ''R'' is the zero matrix and ''n''=''k''+1, by reducing it to a scalar [[rational difference equation]]; moreover, for any ''k'' and ''n'' if the transition matrix ''A'' 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.<ref>Vaughan, D. R., "A nonrecursive algebraic solution for the discrete Riccati equation," ''IEEE Transactions on Automatic Control'' 15, 1970, 597-599.</ref>
In general this equation cannot be solved analytically for {{math|'''H'''<sub>''t''</sub>}} in terms of {{math|''t''}}; rather, the sequence of values for {{math|'''H'''<sub>''t''</sub>}} is found by iterating the Riccati equation. However, it has been shown<ref>{{cite journal|last1=Balvers|first1=Ronald J.|last2=Mitchell|first2=Douglas W.|date=2007|title=Reducing the dimensionality of linear quadratic control problems|journal=Journal of Economic Dynamics and Control|volume=31|issue=1|page=141–159|doi=10.1016/j.jedc.2005.09.013}}</ref> that this Riccati equation can be solved analytically if {{math|'''R''' {{=}} [[Zero matrix|'''0''']]}} and {{math|''n'' {{=}} ''k'' + 1}}, by reducing it to a scalar [[rational difference equation]]; moreover, for any {{math|''k''}} and {{math|''n''}} if the transition matrix {{math|'''A'''}} 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.<ref>{{cite journal|last=Vaughan|first=D. R.|date=1970|title=A nonrecursive algebraic solution for the discrete Riccati equation|journal=IEEE Transactions on Automatic Control|volume=15|issue=5|page=597–599|doi=10.1109/TAC.1970.1099549}}</ref>


In most contexts the evolution of ''H'' backwards through time is stable, meaning that ''H'' converges to a particular fixed matrix ''H''* which may be irrational even if all the other matrices are rational. See also [[Stochastic control#Discrete time]].
In most contexts the evolution of {{math|'''H'''}} backwards through time is stable, meaning that {{math|'''H'''}} converges to a particular fixed matrix {{math|'''H'''*}} which may be irrational even if all the other matrices are rational. See also {{section link|Stochastic control#Discrete time}}.


A related Riccati equation<ref>Martin, C. F., and Ammar, G., "The geometry of the matrix Riccati equation and associated eigenvalue method," in Bittani, Laub, and Willems (eds.), ''The Riccati Equation'', Springer-Verlag, 1991.</ref> is
A related Riccati equation<ref>{{cite book|last=Martin|first=C. F.|last2=Ammar|first2=G.|contribution=The geometry of the matrix Riccati equation and associated eigenvalue method|editor1-last=Bittani|editor2-last=Laub|editor3-last=Willems|date=1991|title=The Riccati Equation|publisher=Springer-Verlag|isbn=978-3-642-63508-3|doi=10.1007/978-3-642-58223-3_5}}</ref> is


:<math>X_{t+1} = -(E+BX_t)(C+AX_t)^{-1}</math>
:<math>\mathbf{X}_{t+1} = -\left[\mathbf{E}+\mathbf{B}\mathbf{X}_t\right]\left[\mathbf{C}+\mathbf{A}\mathbf{X}_t\right]^{-1}</math>


in which the matrices ''X'', ''A'', ''B'', ''C'', and ''E'' are all ''n''×''n''. This equation can be solved explicitly. Suppose <math>X_t = N_t D_t^{-1}</math>, which certainly holds for ''t''=0 with ''N''<sub>0</sub> = ''X''<sub>0</sub> and with ''D''<sub>0</sub> equal to the identity matrix. Then using this in the difference equation yields
in which the matrices {{math|'''X'''}}, {{math|'''A'''}}, {{math|'''B'''}}, {{math|'''C'''}}, and {{math|'''E'''}} are all {{math|''n'' × ''n''}}. This equation can be solved explicitly. Suppose {{math|'''X'''<sub>''t''</sub> {{=}} '''N'''<sub>''t''</sub>'''D'''{{su|b=''t''|p=−1}}}}, which certainly holds for {{math|''t'' {{=}} 0}} with {{math|'''N'''<sub>0</sub> {{=}} '''X'''<sub>0</sub>}} and with {{math|'''D'''<sub>0</sub> {{=}} [[identity matrix|'''I''']]}}. Then using this in the difference equation yields


:<math>\begin{align}
:<math>X_{t+1}=-(E+BN_tD_t^{-1})D_tD_t^{-1}(C+AN_tD_t^{-1})^{-1}</math>
\mathbf{X}_{t+1}&=-\left[\mathbf{E}+\mathbf{B}\mathbf{N}_t\mathbf{D}_t^{-1}\right]\mathbf{D}_t\mathbf{D}_t^{-1}\left[\mathbf{C}+\mathbf{A}\mathbf{N}_t\mathbf{D}_t^{-1}\right]^{-1}\\
:<math>=-(ED_t+BN_t)[(C+AN_t D_t^{-1})D_t]^{-1}</math>
&=-\left[\mathbf{E}\mathbf{D}_t+\mathbf{B}\mathbf{N}_t\right]\left[\left[\mathbf{C}+\mathbf{A}\mathbf{N}_t \mathbf{D}_t^{-1}\right]\mathbf{D}_t\right]^{-1}\\
:<math>=-(ED_t+BN_t)[CD_t+AN_t]^{-1}</math>
&=-\left[\mathbf{E}\mathbf{D}_t+\mathbf{B}\mathbf{N}_t\right]\left[\mathbf{C}\mathbf{D}_t+\mathbf{A}\mathbf{N}_t\right]^{-1}\\
&=\mathbf{N}_{t+1}\mathbf{D}_{t+1}^{-1}
\end{align}</math>


so by induction the form {{math|'''X'''<sub>''t''</sub> {{=}} '''N'''<sub>''t''</sub>'''D'''{{su|b=''t''|p=−1}}}} holds for all {{math|''t''}}. Then the evolution of {{math|'''N'''}} and {{math|'''D'''}} can be written as
:<math>=N_{t+1}D_{t+1}^{-1},</math>


:<math>\begin{bmatrix} \mathbf{N}_{t+1} \\ \mathbf{D}_{t+1} \end{bmatrix} = \begin{bmatrix} -\mathbf{B} & -\mathbf{E} \\ \mathbf{A} & \mathbf{C} \end{bmatrix} \begin{bmatrix} \mathbf{N}_t \\ \mathbf{D}_t \end{bmatrix} \equiv \mathbf{J} \begin{bmatrix}\mathbf{N}_t \\ \mathbf{D}_t \end{bmatrix}</math>
so by induction the form <math>X_t=N_tD_t^{-1}</math> holds for all ''t''. Then the evolution of ''N'' and ''D'' can be written as


Thus by induction
:<math>\begin{pmatrix} N_{t+1} \\ D_{t+1} \end{pmatrix} = \begin{pmatrix} -B & -E \\ A & C \end{pmatrix} \begin{pmatrix} N_t \\ D_t \end{pmatrix} \equiv J \begin{pmatrix}N_t \\ D_t \end{pmatrix}.</math>


:<math>\begin{bmatrix} \mathbf{N}_t \\ \mathbf{D}_t \end{bmatrix} = \mathbf{J}^{t} \begin{bmatrix} \mathbf{N}_0 \\ \mathbf{D}_0 \end{bmatrix}</math>
Thus

:<math>\begin{pmatrix} N_t \\ D_t \end{pmatrix} = J^{t} \begin{pmatrix} N_0 \\ D_0 \end{pmatrix}.</math>


==See also==
==See also==

Revision as of 03:37, 17 February 2019

A matrix difference equation[1][2] 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 x is an n × 1 vector of variables and A and B are n × n 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 b. The steady state of this system is a value x* of the vector x which, if reached, would not be deviated from subsequently. x* is found by setting xt = xt−1 = x* in the difference equation and solving for x* to obtain

where I is the n×n identity matrix, and where it is assumed that [IA] 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 [xtx*] = A[xt−1x*] is stable—that is, xt converges asymptotically to the steady state x*—if and only if all eigenvalues of the transition matrix A (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 yt = Ayt−1. Then we can iterate and substitute repeatedly from the initial condition y0, which is the initial value of the vector y and which must be known in order to find the solution:

and so forth, so that by mathematical induction the solution in terms of t is

Further, if A is diagonalizable, we can rewrite A in terms of its eigenvalues and eigenvectors, giving the solution as

where P is an n × n matrix whose columns are the eigenvectors of A (assuming the eigenvalues are all distinct) and D is an n × n diagonal matrix whose diagonal elements are the eigenvalues of A. This solution motivates the above stability result: At 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 n-dimensional system yt = Ayt−1, we can extract the dynamics of one of the state variables, say y1. The above solution equation for yt shows that the solution for y1,t is in terms of the n eigenvalues of A. Therefore the equation describing the evolution of y1 by itself must have a solution involving those same eigenvalues. This description intuitively motivates the equation of evolution of y1, which is

where the parameters ai are from the characteristic equation of the matrix A:

Thus each individual scalar variable of an n-dimensional first-order linear system evolves according to a univariate nth-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 x being n × 1 and A and B being n × n. This can be stacked in the form

where I is the n × n identity matrix and 0 is the n × n zero matrix. Then denoting the 2n × 1 stacked vector of current and once-lagged variables as zt and the 2n × 2n block matrix as L, 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 L 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 H. 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 H, K, and A are n × n, C is n × k, R is k × k, n is the number of elements in the vector to be controlled, and k is the number of elements in the control vector. The parameter matrices A and C are from the linear equation, and the parameter matrices K and R are from the quadratic cost function. See here for details.

In general this equation cannot be solved analytically for Ht in terms of t; rather, the sequence of values for Ht is found by iterating the Riccati equation. However, it has been shown[3] that this Riccati equation can be solved analytically if R = 0 and n = k + 1, by reducing it to a scalar rational difference equation; moreover, for any k and n if the transition matrix A 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.[4]

In most contexts the evolution of H backwards through time is stable, meaning that H converges to a particular fixed matrix H* which may be irrational even if all the other matrices are rational. See also Stochastic control § Discrete time.

A related Riccati equation[5] is

in which the matrices X, A, B, C, and E are all n × n. This equation can be solved explicitly. Suppose Xt = NtD−1
t
, which certainly holds for t = 0 with N0 = X0 and with D0 = I. Then using this in the difference equation yields

so by induction the form Xt = NtD−1
t
holds for all t. Then the evolution of N and D can be written as

Thus by induction

See also

References

  1. ^ Cull, Paul; Flahive, Mary; Robson, Robbie (2005). Difference Equations: From Rabbits to Chaos. Springer. ch. 7. ISBN 0-387-23234-6.
  2. ^ Chiang, Alpha C. (1984). Fundamental Methods of Mathematical Economics (3rd ed.). McGraw-Hill. pp. 608–612.
  3. ^ Balvers, Ronald J.; Mitchell, Douglas W. (2007). "Reducing the dimensionality of linear quadratic control problems". Journal of Economic Dynamics and Control. 31 (1): 141–159. doi:10.1016/j.jedc.2005.09.013.
  4. ^ Vaughan, D. R. (1970). "A nonrecursive algebraic solution for the discrete Riccati equation". IEEE Transactions on Automatic Control. 15 (5): 597–599. doi:10.1109/TAC.1970.1099549.
  5. ^ Martin, C. F.; Ammar, G. (1991). "The geometry of the matrix Riccati equation and associated eigenvalue method". In Bittani; Laub; Willems (eds.). The Riccati Equation. Springer-Verlag. doi:10.1007/978-3-642-58223-3_5. ISBN 978-3-642-63508-3.