control.system_norm

control.system_norm(system, p=2, tol=1e-06, print_warning=True, method=None)[source]

Computes the input/output norm of system.

Parameters
systemLTI (StateSpace or TransferFunction)

System in continuous or discrete time for which the norm should be computed.

pint or str

Type of norm to be computed. p = 2 gives the H2 norm, and p = ‘inf’ gives the L-infinity norm.

tolfloat

Relative tolerance for accuracy of L-infinity norm computation. Ignored unless p = ‘inf’.

print_warningbool

Print warning message in case norm value may be uncertain.

methodstr, optional

Set the method used for computing the result. Current methods are ‘slycot’ and ‘scipy’. If set to None (default), try ‘slycot’ first and then ‘scipy’.

Returns
norm_valuefloat

Norm value of system.

Notes

Does not yet compute the L-infinity norm for discrete-time systems with pole(s) at the origin unless Slycot is used.

Examples

>>> Gc = ct.tf([1], [1, 2, 1])
>>> round(ct.norm(Gc, 2), 3)
0.5
>>> round(ct.norm(Gc, 'inf', tol=1e-5, method='scipy'), 3)
np.float64(1.0)