GRANSO: GRadientbased Algorithm for NonSmooth Optimization GRANSO is an optimization package implemented in MATLAB, intended to be efficient for constrained nonsmooth optimization problems, without any special structure or assumptions imposed on the objective or constraint functions. It can handle problems involving functions that are any or all of the following: smooth or nonsmooth, convex or nonconvex, and locally Lipschitz or nonlocally Lipschitz. 

PyGRANSO: A PyTorchenabled port of GRANSO with autodifferentiation PyGRANSO is a direct port of GRANSO v1.6.4 to Python but with key new features, particularly for machine learning applications: automatic differentiation for computing gradients, GPU acceleration, tensor variables, and new QP solvers. PyGRANSO was written by Buyun Liang with Ju Sun and myself advising. PyGRANSO is part of the larger software package NCVX being developed by the GLOVEX group led by Ju Sun. 

PSARNOT: (Pseudo)Spectral AbscissaRadius Nonsmooth Optimization Test PSARNOT (rhymes with Carnot, as in carno) is a test set intended for evaluating methods for nonsmooth optimization. It is comprised of data files and software, implemented in MATLAB. PSARNOT includes 200 nonsmooth nonconvex constrained optimization problems and new test problems can be easily generated. 

ROSTAPACK: RObust STAbility PACKage ROSTAPACK (pronounced rostapack, with rost rhyming with frost) is a library implemented in MATLAB for computing or approximating robust stability measures of dynamical systems. It includes fast exact methods for the Hinfinity norm, the Linfinity norm, the pseudospectral abscissa and radius, and the spectral value set abscissa and radius. It also includes scalable routines for approximating the Hinfinity or Linfinity norm, the complex stability radius, and the real stability radius. Routines to compute other stability measures are slated to be added to future releases of ROSTAPACK. 

betaRMP betaRMP is a benchmarking visualization tool written in MATLAB for creating βRelative Minimization Profiles (βRMPs). An RMP shows how the percentage of test problems considered solved by method varies as a function of changing the required number of matching digits in the solutions. A set of βRMPs additionally show how this relationship changes under different computational budgets, so readers can assess and compare methods in terms of both accuracy and cost. 

eigsPlus eigsPlus provides an enhanced, alternative version to the MATLAB function eigs , supported on
MATLAB R2012b and later and Octave, that ensures that only the converged
eigenvalues are returned. The placeholder values (zero or NaN depending
on the version of MATLAB) for unconverged Ritz values are never
returned, to prevent them from ever being used accidentally in
subsequent computations. eigsPlus also supports additional
functionality, such as getting the number of ARPACK iterations incurred.

eigs
routine in MATLAB R2013b and
newer now uses NaNs instead of zeros as placeholders for unconverged
Ritz values, as it could otherwise be difficult to separate the converged
eigenvalues from the placeholder zeros, particularly when zero is
also an eigenvalue of the matrix in question. Furthermore, these
placeholder zeros could be inadvertantly used in subsequent
computations, such as computing the spectral
abscissa of stable matrix A by calling
spec_abs = max(real(eigs(A,6,'LR')));
If less than six Ritz converge, the above command will return zero!
A request has been filed for Octave, which will hopefully match
this new behavior in the 4.4.0 release.
hinfnorm
routine
(and some of its subroutines), which is a MATLAB code for
approximating the H_{∞} norm. My
improvements are included in the v1.02 release, which was used
for the numerical results of the
associated paper
describing its underlying method by
Nicola Guglielmi, Mert Gürbüzbalaban, and Michael L. Overton.
specValSetBound
routine from
ROSTAPACK, which adds significant
improvements such as acceleration features, extension to spectral value sets,
approximating the realvalued pseudospectral abscissa or radius, etc.
pspr
routine
(for computing the pseudospectral radius) was out of date and
was susceptible to sometimes returning incorrect answers, a known problem
discussed in
the related paper describing its crisscross algorithm for
computing the pseudospectal abscissa. The
latest version of EigTool,
now maintained on GitHub by Mark Embree, includes Emre Mengi's more
recent codes, which fix this problem and also correct a
very minor bug in the plotting routines which I also pointed out.