scipy.linalg.solve_discrete_are¶
- scipy.linalg.solve_discrete_are(a, b, q, r)[source]¶
Solves the discrete algebraic Riccati equation (DARE).
The DARE is defined as
\[X = A'XA-(A'XB)(R+B'XB)^-1(B'XA)+Q\]It is solved directly using a Schur decomposition method.
Parameters: a : (M, M) array_like
Non-singular, square matrix
b : (M, N) array_like
Input
q : (M, M) array_like
Input
r : (N, N) array_like
Non-singular, square matrix
Returns: x : ndarray
Solution to the continuous Lyapunov equation
See also
- solve_continuous_are
- Solves the continuous algebraic Riccati equation
Notes
Method taken from: Laub, “A Schur Method for Solving Algebraic Riccati Equations.” U.S. Energy Research and Development Agency under contract ERDA-E(49-18)-2087. http://dspace.mit.edu/bitstream/handle/1721.1/1301/R-0859-05666488.pdf
New in version 0.11.0.