Skip to content

spectral#

Includes a solver for the Lyapunov equation using the matrix spectrum.

Classes:

  • Spectral

    A solver for the Lyapunov equation by using the matrix spectrum.

Spectral #

Spectral(num_ref_iterations: int = 2, eig_compute_location: str = 'numpy', use_pinned_memory: bool = True)

Bases: LyapunovSolver

A solver for the Lyapunov equation by using the matrix spectrum.

Parameters:

  • num_ref_iterations (int, default: 2 ) –

    The number of refinement iterations to perform.

  • eig_compute_location (str, default: 'numpy' ) –

    The location where to compute the eigenvalues and eigenvectors. Can be either "numpy" or "cupy" or "nvmath".

  • use_pinned_memory (bool, default: True ) –

    Whether to use pinnend memory if cupy is used. Default is True.

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.