NFourSIDUtils#

class do_dpc.dpc.mpc_nfour_sid.NFourSIDUtils[source]#

Bases: object

Utility functions for N4SID subspace identification.

Methods#

block_hankel_matrix#

do_dpc.dpc.mpc_nfour_sid.NFourSIDUtils.block_hankel_matrix(matrix, num_block_rows)#

Constructs a block Hankel matrix from the input matrix.

Parameters:
  • matrix (np.ndarray) – Input matrix.

  • num_block_rows (int) – Number of block rows.

Returns:

Block Hankel matrix.

Return type:

np.ndarray

eigenvalue_decomposition#

do_dpc.dpc.mpc_nfour_sid.NFourSIDUtils.eigenvalue_decomposition(matrix)#

Calculates the eigenvalue decomposition of a matrix.

Parameters:

matrix (np.ndarray) – The matrix to decompose.

Returns:

The decomposition of the matrix.

Return type:

Decomposition

reduce_decomposition#

do_dpc.dpc.mpc_nfour_sid.NFourSIDUtils.reduce_decomposition(decomposition, rank)#

Reduces an eigenvalue decomposition to retain only the largest eigenvalues.

Parameters:
  • decomposition (Decomposition) – The original decomposition.

  • rank (int) – The number of eigenvalues to retain.

Returns:

The reduced decomposition.

Return type:

Decomposition