Skip to main content
`Ctrl`+`K`
scipy.linalg.

# solve_continuous_lyapunov

scipy.linalg.solve_continuous_lyapunov(a, q)

  Solves the continuous Lyapunov equation \(AX + XA^H = Q\).

  Uses the Bartels-Stewart algorithm to find \(X\).

  Parameters:
    a array_like

      A square matrix

    q array_like

      Right-hand side square matrix

  Returns:
    x ndarray

      Solution to the continuous Lyapunov equation

  See also

  `solve_discrete_lyapunov`

    computes the solution to the discrete-time Lyapunov equation

  `solve_sylvester`

    computes the solution to the Sylvester equation

  Notes

  The continuous Lyapunov equation is a special form of the Sylvester equation, hence this solver relies on LAPACK routine ?TRSYL.

  Added in version 0.11.0.

  Examples

  Given a and q solve for x:

      >>> import numpy as np
      >>> from scipy import linalg
      >>> a = np.array([[-3, -2, 0], [-1, -1, 0], [0, -5, -1]])
      >>> b = np.array([2, 4, -1])
      >>> q = np.eye(3)
      >>> x = linalg.solve_continuous_lyapunov(a, q)
      >>> x
      array([[ -0.75  ,   0.875 ,  -3.75  ],
             [  0.875 ,  -1.375 ,   5.3125],
             [ -3.75  ,   5.3125, -27.0625]])
      >>> np.allclose(a.dot(x) + x.dot(a.T), q)
      True