control.modal_form

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

Convert a system into modal canonical form.

Parameters
xsysStateSpace object

System to be transformed, with state x.

condmaxNone or float, optional

An upper bound on individual transformations. If None, use bdschur default.

sortbool, optional

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

Returns
zsysStateSpace 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.]])