DARE - Maple Help

LinearAlgebra

 DARE
 solves the discrete algebraic Riccati equation

 Calling Sequence DARE(A, B, Q, R, S, options, outopts)

Parameters

 A - Matrix(square) B - Matrix Q - Matrix R - Matrix(square) S - (optional) Matrix options - (optional) constructor options for the result objects and/or equation(s) of the form output = value outopts - (optional) equation(s) of the form outputoptions[o] = list, where o is one of X, L or G

Options

 • output=value

Specifies which results are returned, where value can be a single name or a list of names.. The choices of names for value are

 – X - the Matrix which solves the equation
 – L - the Vector of closed-loop eigenvalues of the symplectic Matrix H
 – rcond - the reciprocal of the condition number of the system solved by X
 – G - the gain Matrix where $G={\left({B}^{+}·X·B+R\right)}^{\mathrm{-1}}·{\left(S+{A}^{+}·X·B\right)}^{+}$.

The default for value is X.

 • The constructor options provide additional information (readonly, shape, storage, order, datatype, and attributes) to the Matrix or Vector constructor that builds the result(s). These options may also be provided in the form outputoptions[o]=[...], where [...] represents a Maple list.  If a constructor option is provided in both the calling sequence directly and in an outputoptions[o] option, the latter takes precedence (regardless of the order).

Description

 • The DARE command solves the discrete algebraic Riccati equation,

${A}^{+}·X·A-X-\left(S+{A}^{+}·X·B\right)·{\left({B}^{+}·X·B+R\right)}^{\mathrm{-1}}·{\left(S+{A}^{+}·X·B\right)}^{+}+Q=0$

 • The optional Matrix argument S defaults to the zero Matrix.
 • This routine operates in the real floating-point domain. Hence, the entries in the Matrix arguments must necessarily be of type numeric.

Examples

 > $\mathrm{with}\left(\mathrm{LinearAlgebra}\right):$
 > $a≔\mathrm{Matrix}\left(2,2,\left[\left[0,1\right],\left[0,0\right]\right]\right)$
 ${a}{≔}\left[\begin{array}{cc}{0}& {1}\\ {0}& {0}\end{array}\right]$ (1)
 > $b≔\mathrm{Matrix}\left(2,2,\left[\left[0.5,0.7\right],\left[1,0\right]\right]\right)$
 ${b}{≔}\left[\begin{array}{cc}{0.5}& {0.7}\\ {1}& {0}\end{array}\right]$ (2)
 > $q≔\mathrm{Matrix}\left(3,2,\left[\left[1,0\right],\left[0,1\right],\left[0,0\right]\right]\right)$
 ${q}{≔}\left[\begin{array}{cc}{1}& {0}\\ {0}& {1}\\ {0}& {0}\end{array}\right]$ (3)
 > $r≔\mathrm{Matrix}\left(1,1,\left[\left[1\right]\right]\right)$
 ${r}{≔}\left[\begin{array}{c}{1}\end{array}\right]$ (4)
 > $\mathrm{DARE}\left(a,b,q,r\right)$
 $\left[\begin{array}{cc}{1.00000000000000}& {-4.13162735955822}{×}{{10}}^{{-16}}\\ {-4.13162735955822}{×}{{10}}^{{-16}}& {1.92116460960662}\end{array}\right]$ (5)
 > $\mathrm{DARE}\left(a,b,q,r,\mathrm{output}=X\right)$
 $\left[\begin{array}{cc}{1.00000000000000}& {-4.13162735955822}{×}{{10}}^{{-16}}\\ {-4.13162735955822}{×}{{10}}^{{-16}}& {1.92116460960662}\end{array}\right]$ (6)
 > $\mathrm{DARE}\left(a,b,q,r,⟨⟨1,0⟩|⟨0,1⟩⟩\right)$
 $\left[\begin{array}{cc}{0.626691964175563}& {-0.0851772290376543}\\ {-0.0851772290376543}& {1.60725718203777}\end{array}\right]$ (7)
 > $\mathrm{DARE}\left(a,b,q,r,\mathrm{output}=\left[X,L,G,\mathrm{rcond}\right]\right)$
 $\left[\begin{array}{cc}{1.00000000000000}& {-4.13162735955822}{×}{{10}}^{{-16}}\\ {-4.13162735955822}{×}{{10}}^{{-16}}& {1.92116460960662}\end{array}\right]{,}\left[\begin{array}{c}{3.38343745873938}{×}{{10}}^{{-17}}{+}{0.}{}{I}\\ {-0.157670780786754}{+}{0.}{}{I}\end{array}\right]{,}\left[\begin{array}{cc}{0.}& {0.157670780786754}\end{array}\right]{,}{0.705446591923427402}$ (8)