control.singular_values_response(sysdata, omega=None, omega_limits=None, omega_num=None, Hz=False)[source]

Singular value response for a system.

Computes the singular values for a system or list of systems over a (optional) frequency range.

  • sysdata (LTI or list of LTI) – List of linear input/output systems (single system is OK).

  • omega (array_like) – List of frequencies in rad/sec to be used for frequency response.

  • omega_limits (array_like of two values) – Limits of the frequency vector to generate, in rad/s.

  • omega_num (int) – Number of samples to plot. Default value (1000) set by config.defaults[‘freqplot.number_of_samples’].

  • Hz (bool, optional) – If True, when computing frequency limits automatically set limits to full decades in Hz instead of rad/s. Omega is always returned in rad/sec.


response – Frequency response with the number of outputs equal to the number of singular values in the response, and a single input.

Return type



>>> omegas = np.logspace(-4, 1, 1000)
>>> den = [75, 1]
>>> G =[[[87.8], [-86.4]], [[108.2], [-109.6]]],
...           [[den, den], [den, den]])
>>> response = ct.singular_values_response(G, omega=omegas)