SciPy

scipy.linalg.solve_continuous_are

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

Solves the continuous algebraic Riccati equation (CARE).

The CARE is defined as

\[(A'X + XA - XBR^-1B'X+Q=0)\]

It is solved directly using a Schur decomposition method.

Parameters:

a : (M, M) array_like

Input

b : (M, N) array_like

Input

q : (M, M) array_like

Input

r : (N, N) array_like

Non-singular, square matrix

Returns:

x : (M, M) ndarray

Solution to the continuous algebraic Riccati equation

See also

solve_discrete_are
Solves the discrete 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.