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 - XB R^{-1} B'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 is taken from [R116].

New in version 0.11.0.

References

[R116](1, 2) Alan J Laub, “A Schur Method for Solving Algebraic Riccati Equations.”, Massachusetts Institute of Technology. Laboratory for Information and Decision Systems. LIDS-R ; 859. Available online : http://hdl.handle.net/1721.1/1301