MATLAB Software
Michael L. Overton
Software linked from this page is based in part on work supported by the National Science Foundation (NSF).
Any opinions, findings and conclusions or recommendations expressed in this material are those
of the author and his coauthors and do not necessarily reflect the views of NSF.
Control
Optimization

GRANSO: GRadientbased Algorithm for NonSmooth Optimization
(for nonsmooth, nonconvex optimization subject to nonsmooth, nonconvex constraints, based
on a BFGSSQP method. This code, written by former Ph.D. student Tim Mitchell,
extends and improves upon HANSO.)

HANSO: Hybrid Algorithm for NonSmooth Optimization
(for general unconstrained minimization: convex or nonconvex, smooth or nonsmooth, including
BFGS and limited memory BFGS using a weak Wolfe line search and the gradient sampling method,
which, unlike BFGS, has a nice convergence theory for nonsmooth optimization)

NLCG: Nonlinear Conjugate Gradient
(for smooth unconstrained minimization, with multiple variants of nonlinear CG, most notably
PolakRibere constrained by FletcherReeves, based on strong Wolfe line search)

AFFPOLYMIN: Root Optimization for a Polynomial Family with an Affine Constraint
(global minimization of the root abscissa or the root radius of a monic polynomial family with
a single affine constraint on its coefficients)
 SDPpack: a package for Semidefinite Programming
Optimization Benchmarking
Matrix Functions
 Generalized Null Space Decomposition
(this decomposition, also known as the Staircase Form, can be used to identify the Jordan block
structure for the zero eigenvalues of a matrix. It can also be used to compute the Drazin inverse)

ROSTAPACK: RObust STAbility PACKage
(for many robust stabilization measures for matrices and linear dynamical systems.
This package, written by Tim Mitchell, greatly extends, improves upon and replaces our earlier
algorithms and codes for the pseudospectral abscissa and radius, both the crisscross method
(use the new code specValSet), and the faster methods for large sparse problems
(use the new code specValSetBound))

Distance to Uncontrollability

SepLambda

Nearest Defective Matrix