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.


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 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 "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" also applies to exact and symbolic matrices.


open all close all

Basic Examples  (1)

Solve a continuous algebraic Riccati equation:

Click for copyable input
Click for copyable input

Verify the solution:

Click for copyable input

Scope  (3)

Options  (7)

Applications  (3)

Properties & Relations  (8)

Possible Issues  (1)

Introduced in 2010
Updated in 2014