This is documentation for an obsolete product.
Current products and services

 Documentation /  Advanced Numerical Methods /  Function Index /  Matrix Equations and Control Applications /


3.2 Riccati Equations

The functions RiccatiSolve and DiscreteRiccatiSolve described in Section 10.3 of Control System Professional solve, respectively, the continuous-time algebraic Riccati equation (CARE):

and the discrete-time algebraic Riccati equation (DARE):

These equations arise, for example, in the linear quadratic regulator problem (Section 10.1); linear quadratic Gaussian problem (Section 10.5); Kalman-Bucy filtering (Section 10.7); and control.

Advanced Numerical Methods extends the scopes of the aforementioned functions by introducing several new numerical methods to solve Eqs. (3.5) and (3.6). The new methods implemented are: the Schur methods, the generalized eigenvector methods, the generalized Schur methods, the matrix Sign-function methods, and the Newton methods. These new methods can readily be used for LQR, LQG, and Kalman filtering designs by supplying the corresponding value of the option SolveMethod in LQRRegulatorGains and related functions in Control System Professional. The Schur method for the CARE is already available in Control System Professional; Advanced Numerical Methods provides the Schur method for the DARE as well. By default, with SolveMethodRuleAutomatic, the solution of both Riccati equations are first attempted using the Schur method and then, if necessary, the inverse-free generalized Schur method. For exact matrices, the default Riccati solver in Control System Professional is used.

The methods compute only the unique stabilizing solution to the respective algebraic Riccati equation. That is, the computed solution to the CARE is such that is a stable matrix. Similarly, the computed solution to the DARE is such that is a discrete-stable matrix.