#### Previous topic

scipy.linalg.solve_continuous_are

#### Next topic

scipy.linalg.solve_discrete_lyapunov

# scipy.linalg.solve_discrete_are

`scipy.linalg.``solve_discrete_are`(a, b, q, r)

  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.