scipy.linalg.solve_discrete_are

scipy.linalg.solve_discrete_are(a, b, q, r)[source]

Solves the disctrete algebraic Riccati equation, or DARE, defined as (X = A’XA-(A’XB)(R+B’XB)^-1(B’XA)+Q), directly using a Schur decomposition method.

Parameters :

a : array_like

Non-singular m x m square matrix

b : array_like

m x n matrix

q : array_like

m x m square matrix

r : array_like

Non-singular n x n square matrix

Returns :

x : array_like

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

Previous topic

scipy.linalg.solve_continuous_are

Next topic

scipy.linalg.solve_discrete_lyapunov