harold.system_norm

harold.system_norm(G, p=inf, hinf_tol=1e-06, eig_tol=1e-08)

Computes the system p-norm. Currently, no balancing is done on the system, however in the future, a scaling of some sort will be introduced. Currently, only H₂ and H∞-norm are understood.

For H₂-norm, the standard grammian definition via controllability grammian, that can be found elsewhere is used.

Parameters:
  • G ({State,Transfer}) – System for which the norm is computed
  • p ({int,np.inf}) – The norm type; np.inf for H∞- and 2 for H2-norm
  • hinf_tol (float) – When the progress is below this tolerance the result is accepted as converged.
  • eig_tol (float) – The algorithm relies on checking the eigenvalues of the Hamiltonian being on the imaginary axis or not. This value is the threshold such that the absolute real value of the eigenvalues smaller than this value will be accepted as pure imaginary eigenvalues.
Returns:

n (float) – Resulting p-norm

Notes

The H∞ norm is computed via the so-called BBBS algorithm ([1], [2]).

[1]N.A. Bruinsma, M. Steinbuch: Fast Computation of H∞-norm of transfer function. System and Control Letters, 14, 1990. DOI:10.1016/0167-6911(90)90049-Z
[2]S. Boyd and V. Balakrishnan. A regularity result for the singular values of a transfer matrix and a quadratically convergent algorithm for computing its L∞-norm. System and Control Letters, 1990. DOI:10.1016/0167-6911(90)90037-U