# QPpassive

QPpassive.zip is a package for enforcing passivity of pole-residue models as a post-processing step using quadratic programming.

This package contains a post-processing procedure for enforcing passivity of a model given on pole-residue form. This is done by introducing the passivity criterion as a constraint equation in the least squares problem. The routine requires the user to provide frequency samples for the least squares problem and the passivity constraint. A large number of options is available.

## Download: QPpassive.zip

File | Purpose |

QPpassive.pdf | User manual |

passivity.pdf | Document describing the theory (IEEE paper) |

QPpassive.m | Passivity enforcement routine |

rot.m | Utility routine, rotates eigenvectors to minimize their imaginary part |

interchange.m | Utility routine, interchanges eigenpairs to obtain eigenvalues as smooth functions of frequency |

ex1.m, ex2.m, ex3a.m, ex3b.m, ex4a.m, ex4b.m | Example cases described in QPpassive.pdf |

ex1.mat, ex2.mat, ex3.mat, ex4.mat | Workspaces containing variables for examples (ex1.m,…) |

**Note**:

QPpassive.m uses the routine quadprog.m of the Matlab Optimization Toolbox.