RiccatiSolve

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

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

Details and OptionsDetails and Options

  • In TemplateBox[{a}, ConjugateTranspose].x+x.a-x.b.TemplateBox[{r}, Inverse].TemplateBox[{b}, ConjugateTranspose].x+q=0, denotes the conjugate transpose.
  • The equation TemplateBox[{a}, ConjugateTranspose].x+x.a-x.b.TemplateBox[{r}, Inverse].TemplateBox[{b}, ConjugateTranspose].x+q=0 has a unique, symmetric, positive semidefinite solution if is stabilizable, is detectable, , and . Consequently, all eigenvalues of the matrix are negative and the solution is stabilizing.
  • The solution is positive definite when is controllable and is observable.
  • RiccatiSolve supports a Method option, with the following possible settings:
  • Automaticautomatically determined method
    "Eigensystem"based on eigen decomposition
    "GeneralizedEigensystem"based on generalized eigen decomposition
    "GeneralizedSchur"based on generalized Schur decomposition
    "InverseFree"a variant of
    "MatrixSign"iterative method using the matrix sign function
    "Newton"iterative Newton method
    "Schur"based on Schur decomposition
  • All methods apply to approximate numeric matrices. also applies to exact and symbolic matrices.
Introduced in 2010
(8.0)
| Updated in 2014
(10.0)