## Software

polyargmin - Matlab code constructing the polynomial argmin approximation of functions as described in D. Henrion, M. Korda, J. B. Lasserre. Polynomial argmin for recovery and approximation of multivariate discontinuous functions, HAL 03986252, February 2023. Developed by Didier Henrion and Milan Korda.

stokesvolume - Matlab code implementing Stokes constraints to accelerate the moment-SOS hierarchy for approximating the volume of semi-algebraic sets as described in M. Tacchi, J. B. Lasserre, D. Henrion. Stokes, Gibbs and volume computation of semi-algebraic sets. HAL 02947268, September 2020. Developed by Didier Henrion and Matteo Tacchi.

momgraph - a Matlab code to recover functions from the moments of the measure supported on their graphs as described in S. Marx, E. Pauwels, T. Weisser, D. Henrion, J. B. Lasserre. Semi-algebraic approximation using Christoffel-Darboux kernel. Constructive Approximation, 54(3):391-429, 2021. Developed by Swann Marx, Edouard Pauwels, Tillmann Weisser, Didier Henrion, Jean Bernard Lasserre.

Tutorial on the use of GloptiPoly 3 to solve optimal control problems with the moment method. Written by Swann Marx.

Polynomial Optimal Design with GloptiPoly 3. Numerical experiments described inYohann de Castro, Fabrice Gamboa, Roxana Hess, Didier Henrion and Jean Bernard Lasserre. Approximate optimal designs for multivariate polynomial regression. Annals of Statistics, Vol. 47, No. 1, pp. 127-155, 2019. Written by Roxana Hess and maintained by Yohann de Castro.

SPECTRA - a Maple library for solving exactly linear matrix inequalities. Developed by Simone Naldi.

Polyopt - a Python package for modelling and solving moment LMI relaxations of polynomial optimization problems. The semidefinite solver is a stand-alone basic implementation of a primal interior-point method. Developed by Pavel Trutman.

Switch - Matlab codes
for optimal control of nonlinear switching systems, following the developments described in
M. Claeys, J. Daafouz, D. Henrion,
Modal occupation measures and LMI relaxations for nonlinear switched systems control,
LAAS-CNRS Research Report 14138, April 2014. Developed by Mathieu Claeys.

ROA - Matlab codes (including distributions
of YALMIP and GloptiPoly 3, and using either MOSEK or SeDuMi which should be
installed) for computing estimates of the region of attraction
of a polynomial control system, following the developments described in
D. Henrion, M. Korda, Convex computation of the region of attraction
of polynomial control systems, LAAS-CNRS Research Report 12488, August 2012.
Developed by Milan Korda.

HIFOO -
A Matlab package for fixed-order controller design and H-infinity
optimization, using a hybrid algorithm for nonsmooth, nonconvex
optimization based on quasi-Newton updating, bundling and gradient
sampling.
Can be freely downloaded and used.
Developed by Denis Arzelier, James V. Burke, Georgia Deaconu,
Suat Gumussoy, Didier Henrion, Adrian S. Lewis, Marc Millstone and
Michael L. Overton.

GloptiPoly 3 -
Moments, optimization and semidefinite programming.
Matlab parser for generalized problems of moments.
Can be freely downloaded and used.
Developed by Didier Henrion, Jean-Bernard Lasserre and Johan Lofberg.

Jean-Philippe Chancelier ported GloptiPoly 2 to
NSP,
a public-domain
scientific package of the Scilab family, a freeware alternative to Matlab. SeDuMi
is also available for NSP.

SciYalmip -
A version of YALMIP for Scilab, a freeware alternative
to Matlab. By Sergej Solovyev and Pavel Pakhsin.

POCP -
Matlab package for solving polynomial optimal control problems.
Can be freely downloaded and used.
Developed by Didier Henrion, Jean-Bernard Lasserre and Carlo Savorgnan.

SDLS -
Matlab package for solving conic least-squares problems.
Available freely for academic and research purposes by contacting
the authors. Developed by Didier Henrion and Jérôme Malick.

RoMulOC -
Robust multi-objective control toolbox for Matlab.
Modeling and robustness analysis based on LMI techniques.
Developed by Dimitri Peaucelle and Denis Arzelier.

GloptiPoly 2 -
Gloptipoly optimization over polynomials with Matlab and SeDuMi.
Can be freely downloaded and used.
Developed by Didier Henrion, Jean-Bernard Lasserre.

PENBMI -
First publically available code that (locally) solves optimization
problems with non-convex bilinear matrix inequality
constraints. Free developer license available to academic users
by contacting the authors.
Also available under the Matlab environment.
Developed by Michal Kocvara and Michael Stingl.

YALMIP - Matlab package for rapid prototyping of
optimization problems.
Can be freely downloaded and used.
Version 3 incorporates significant changes, including an interface to
PENBMI (see above). Developed by Johan Loefberg.

COMPLIB -
Constraint matrix optimization problem library for Matlab. An
extensive collection of test examples for nonlinear semidefinite
programs, control system design and related problems. The nonlinear
semidefinite problems can be solved e.g. by PENBMI interfaced with YALMIP
(see above). Can be freely downloaded and used.
Developed by Friedemann Leifbritz.

SeDuMi Interface
- User-friendly Matlab package to declare and solve
LMI control problems with the SeDuMi
solver. Developed by Dimitri Peaucelle.
Version 1.04 with block partitioning.

The Polynomial Toolbox -
User-friendly commercial software
to handle polynomial matrices and solve control and signal
processing problems with Matlab. Developed and produced by PolyX,
Prague, Czech Republic. See also the Connections
Program of The MathWorks,
the developers of Matlab.

Robust control functions for the Polynomial Toolbox 3.0 - Use
optimization over polynomials and linear matrix inequalities (LMIs) to
solve various robust control problems. Developed by Didier Henrion.

## IEEE TC on CACSD

Several software packages for control system design can be downloaded
from the webpage of the IEEE TC on CACSD.