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.