This repository contains the code for the paper KLAP: KYP Lemma based low-rank approximation for H2-optimal passivation.
If you use this project for academic work, please consider citing our publication:
J. Nicodemus, M. Voigt, S. Gugercin, and B. Unger
KLAP: KYP Lemma based low-rank approximation for $\mathcal{H}_2$-optimal passivation
ArXiv e-print 2501.05178, 2025.
This code base is using the Julia Language and DrWatson to make a reproducible scientific project named
klap
To (locally) reproduce this project, do the following:
- Download this code base. Notice that raw data are typically not included in the git-history and may need to be downloaded independently.
- Open a Julia console and do:
julia> using Pkg julia> Pkg.add("DrWatson") # install globally, for using `quickactivate` julia> Pkg.activate("path/to/this/project") julia> Pkg.instantiate()
This will install all necessary packages for you to be able to run the scripts and everything should work out of the box, including correctly finding local paths.
You may notice that most scripts start with the commands:
using DrWatson
@quickactivate "klap"
which auto-activate the project and enable local path handling from DrWatson.
There are two executable scripts main.jl
and smartphone.jl
located in the scripts
directory:
main.jl
applies and compares KLAP and LMI-based passivation methods on the ACC or CD player benchmark models.smartphone.jl
applies KLAP to the smartphone benchmark model and compares the results with the model obtained by perturbation of Hamiltonian eigenvalues.
Furthermore, an example.ipynb
notebook is provided in the notebooks
directory, which generates the contour plots from the Examples 3.7, 3.8, 3.11 and 3.12.
Distributed under the MIT License. See LICENSE
for more information.
Jonas Nicodemus - [email protected]
Matthias Voigt - [email protected]
Serkan Gugercin - [email protected]
Benjamin Unger - [email protected]
Project Link: https://github.com/Jonas-Nicodemus/klap