This is documentation for Mathematica 8, which was
based on an earlier version of the Wolfram Language.

# RiccatiSolve

 RiccatiSolvegives the matrix that is the stabilizing solution of the continuous algebraic Riccati equation . RiccatiSolvesolves the equation .
• In , denotes the conjugate transpose.
• The equation 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.
• The eigenvalues of the Hamiltonian matrix must not contain any symbolic expressions.
 "Eigensystem" use eigenvalue decomposition "Schur" use Schur decomposition
• By default, eigenvalue decomposition is used to obtain the solution.
• The setting Method works only with approximate numerical matrices.
Solve a continuous algebraic Riccati equation:
Verify the solution:
Solve a continuous algebraic Riccati equation:
 Out[2]=
Verify the solution:
 Out[3]=
 Scope   (3)
Solve a continuous Riccati equation:
Solve a Riccati equation with state-control coupling:
Solve the Riccati equation by extracting appropriate matrices from a state-space model object:
 Options   (2)
The eigenvalue decomposition method can be used for both exact and inexact systems :
For inexact systems, Schur decomposition may also be used:
 Applications   (3)
Compute the cost associated with an optimal trajectory for a linearized inverted pendulum:
Obtain the cost by numerical integration:
Track the "cost to go" at each instant along the optimal trajectory:
Compute an optimal state-feedback gain that guarantees that all closed-loop poles are to the left of :
The closed-loop poles without any prescribed degree of stability:
Compute the minimum error covariance for a Kalman estimator:
RiccatiSolve is equivalent to RiccatiSolve {a-b.Inverse[r].ConjugateTranspose[p], b}, {q-p.Inverse[r].ConjugateTranspose[p], r}]:
If is stabilizable and is detectable, and q=Transpose[g].g, then the solution to the Riccati equation is positive semidefinite:
If is controllable and is observable, and q=Transpose[g].g, then the solution to the Riccati equation is positive definite:
The eigenvalues of the Hamiltonian matrix are pairs of the form :
and are similar matrices:
The Hamiltonian matrix must satisfy the stability and complementarity property to obtain a stabilizing solution to the Riccati equation:
Stability property:
Complementarity property:
The stabilizing solution:
The eigenvalues of the feedback system with are the stable eigenvalues of the Hamiltonian matrix:
Compute optimal state feedback gains using RiccatiSolve:
Use LQRegulatorGains to compute the same result directly:
Compute optimal output feedback gains using RiccatiSolve:
LQOutputRegulatorGains gives the same result:
Compute optimal estimator gains using RiccatiSolve:
Use LQEstimatorGains to compute this result directly:
If is not stabilizable and is not detectable, then the Riccati equation with has no stabilizing solution:
The Schur decomposition method works only with approximate numerical matrices:
New in 8