DiscreteRiccatiSolve

DiscreteRiccatiSolve[{a,b},{q,r}]

gives the matrix that is the stabilizing solution of the discrete algebraic Riccati equation TemplateBox[{a}, ConjugateTranspose].x.a-x-TemplateBox[{a}, ConjugateTranspose].x.b.TemplateBox[{{(, {r, +, {TemplateBox[{b}, ConjugateTranspose], ., x, ., b}}, )}}, Inverse].TemplateBox[{b}, ConjugateTranspose].x.a+q=0.

DiscreteRiccatiSolve[{a,b},{q,r,p}]

solves TemplateBox[{a}, ConjugateTranspose].x.a-x-(TemplateBox[{a}, ConjugateTranspose].x.b+p).TemplateBox[{{(, {r, +, {TemplateBox[{b}, ConjugateTranspose], ., x, ., b}}, )}}, Inverse].(TemplateBox[{b}, ConjugateTranspose].x.a+TemplateBox[{p}, ConjugateTranspose])+q=0.

Details and Options

  • In TemplateBox[{a}, ConjugateTranspose].x.a-x-TemplateBox[{a}, ConjugateTranspose].x.b.TemplateBox[{{(, {r, +, {TemplateBox[{b}, ConjugateTranspose], ., x, ., b}}, )}}, Inverse].TemplateBox[{b}, ConjugateTranspose].x.a+q=0, denotes the conjugate transpose.
  • The equation TemplateBox[{a}, ConjugateTranspose].x.a-x-TemplateBox[{a}, ConjugateTranspose].x.b.TemplateBox[{{(, {r, +, {TemplateBox[{b}, ConjugateTranspose], ., x, ., b}}, )}}, Inverse].TemplateBox[{b}, ConjugateTranspose].x.a+q=0 has a unique, symmetric, positive semidefinite solution only if is stabilizable, is detectable, , and . Consequently, all the eigenvalues of the matrix lie inside the unit circle, and the solution is stabilizing.
  • The solution is positive definite when is controllable and is observable.
  • DiscreteRiccatiSolve supports a Method option. The following settings can be specified:
  • Automaticautomatically determined method
    "Eigensystem"based on eigen decomposition
    "GeneralizedEigensystem"based on generalized eigen decomposition
    "GeneralizedSchur"based on generalized Schur decomposition
    "InverseFree"a variant of "GeneralizedSchur"
    "MatrixSign"
  • iterative method using the matrix sign function
  • "Newton"iterative Newton method
    "Schur"based on Schur decomposition
  • All methods apply to approximate numeric matrices. "Eigensystem" apply to exact and symbolic matrices.

Examples

open allclose all

Basic Examples  (1)

Solve a discrete algebraic Riccati equation:

In[1]:=
Click for copyable input
In[2]:=
Click for copyable input
Out[2]//MatrixForm=

Verify the solution:

In[3]:=
Click for copyable input
Out[3]=

Scope  (3)

Options  (7)

Applications  (2)

Properties & Relations  (10)

Possible Issues  (1)

See Also

RiccatiSolve  LQRegulatorGains  LQOutputRegulatorGains  LQEstimatorGains  KalmanEstimator  LQGRegulator

Introduced in 2010
(8.0)
| Updated in 2014
(10.0)