This is documentation for Mathematica 8, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.1)


gives the matrix that is the stabilizing solution of the discrete algebraic Riccati equation .
solves .
  • In , denotes the conjugate transpose.
  • The equation 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.
  • The eigenvalues of the symplectic matrix must not contain any symbolic expressions.
"Eigensystem"uses eigenvalue decomposition
"Schur"uses Schur decomposition
  • The default setting Method->Automatic selects for exact matrices and as the primary method for real matrices.
  • Method only works with real matrices.
Solve a discrete algebraic Riccati equation:
Verify the solution:
Solve a discrete algebraic Riccati equation:
Click for copyable input
Verify the solution:
Click for copyable input
Solve a discrete Riccati equation:
Solve a discrete Riccati equation with a cross-coupling matrix:
Solve the Riccati equation for a sampled-data transfer-function model:
For exact systems, eigenvalue decomposition is used to obtain the solution:
For inexact systems, Schur decomposition is used:
Eigenvalue decomposition may also be used:
Compute the cost associated with an optimal trajectory for a typical linearized turbo-generator model:
Compute an optimal state-feedback gain which guarantees that all the closed-loop poles are inside a circle of radius :
The closed-loop poles without any prescribed degree of stability:
If is stabilizable and is detectable, and q=Transpose[g].g, then the solution to the discrete Riccati equation is positive semidefinite:
If is controllable and is observable, and q=Transpose[g].g, then the solution to the discrete Riccati equation is positive definite:
The matrix associated with the discrete algebraic Riccati equation is symplectic:
The eigenvalues of the symplectic matrix are pairs of the form :
and are similar matrices:
The symplectic matrix must satisfy the stability and complementarity properties 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 symplectic matrix:
Compute optimal state-feedback gains using DiscreteRiccatiSolve:
Use LQRegulatorGains to obtain the same result directly:
Compute optimal output feedback gains using DiscreteRiccatiSolve:
LQOutputRegulatorGains gives the same result:
Compute optimal estimator gains using DiscreteRiccatiSolve:
The optimal trajectory of the discrete approximation of a system results in a higher cost:
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