control.modal_form

control.modal_form(xsys, condmax=None, sort=False)[source]

Convert a system into modal canonical form.

Parameters
  • xsys (StateSpace object) – System to be transformed, with state x

  • condmax (None or float, optional) – An upper bound on individual transformations. If None, use bdschur default.

  • sort (bool, optional) – If False (default), Schur blocks will not be sorted. See bdschur for sort order.

Returns

  • zsys (StateSpace object) – System in modal canonical form, with state z

  • T ((M, M) ndarray) – Coordinate transformation: z = T * x

Examples

>>> Gs = ct.tf2ss([1], [1, 3, 2])
>>> Gc, T = ct.modal_form(Gs)  # default reachable
>>> Gc.A                                                    
array([[-2.,  0.],
       [ 0., -1.]])