Skip to content

doubling#

Includes a solver for the Lyapunov equation using iterative doubling.

Classes:

  • Doubling

    A solver for the Lyapunov equation using iterative doubling.

Doubling #

Doubling(max_iterations: int = 10, convergence_rel_tol: float = 1e-05, convergence_abs_tol: float = 1e-08)

Bases: LyapunovSolver

A solver for the Lyapunov equation using iterative doubling.

Parameters:

  • max_iterations (int, default: 10 ) –

    The maximum number of iterations to perform.

  • convergence_rel_tol (float, default: 1e-05 ) –

    The required relative accuracy for convergence.

  • convergence_abs_tol (float, default: 1e-08 ) –

    The required absolute accuracy for convergence. Either convergence_rel_tol or convergence_abs_tol must be satisfied.

Methods:

  • __call__

    Computes the solution of the discrete-time Lyapunov equation.

__call__ #

__call__(a: NDArray, q: NDArray, contact: str) -> NDArray

Computes the solution of the discrete-time Lyapunov equation.

The matrices a and q can have different ndims with q.ndim >= a.ndim (will broadcast)

Parameters:

  • a (NDArray) –

    The system matrix.

  • q (NDArray) –

    The right-hand side matrix.

  • contact (str) –

    The contact to which the boundary blocks belong.

Returns:

  • x ( NDArray ) –

    The solution of the discrete-time Lyapunov equation.