control.solve_passivity_LMI

control.solve_passivity_LMI(sys, rho=None, nu=None)[source]

Compute passivity indices and/or solves feasibility via a LMI.

Constructs a linear matrix inequality (LMI) such that if a solution exists and the last element of the solution is positive, the system sys is passive. Inputs of None for rho or nu indicate that the function should solve for that index (they are mutually exclusive, they can’t both be None, otherwise you’re trying to solve a nonconvex bilinear matrix inequality.) The last element of the output solution is either the output or input passivity index, for rho = None and nu = None, respectively.

Parameters
sysLTI

System to be checked.

rhofloat or None

Output feedback passivity index.

nufloat or None

Input feedforward passivity index.

Returns
solutionndarray

The LMI solution.

References

1

McCourt, Michael J., and Panos J. Antsaklis, “Demonstrating passivity and dissipativity using computational methods.”

2

Nicholas Kottenstette and Panos J. Antsaklis, “Relationships Between Positive Real, Passive Dissipative, & Positive Systems”, equation 36.