Tim Mitchell

ROSTAPACK: RObust STAbility PACKage

HEC converging
Diagrammatic representation of Hybrid Expansion-Contraction (HEC), implemented by getStabRadBound, converging to a locally optimal approximation, indicated by the blue point.

ROSTAPACK (pronounced rost-a-pack, with rost rhyming with cost, frost, lost) is a library implemented in MATLAB for computing or approximating robust stability measures of linear dynamical systems with input and output.

The two main computational routines included in the initial version of ROSTAPACK are as follows:

These two routines are intended for large-scale problems, where it would be prohibitively expensive to use exact methods. In order to scale to large problems, it is assumed that fast matrix-vector products can be done with the system matrix A (and to a much lesser degree, matrices B, C, and D).

Future versions of ROSTAPACK will add fast exact methods to complement these scalable routines.

How to install and use ROSTAPACK

  1. Download and install the latest version of eigsPlus, which ROSTAPACK requires (specifically by getStabRadBound and specValSetBound).

    Note: eigsPlus requires that the md5 and patch commands be available on the system path and callable from within MATLAB. On Windows, one will likely need to install these commands and do some setup work. However, ROSTAPACK can be optionally used without installing eigsPlus by setting

    opts.eig_solver_opts.use_default_eigs = true;
  2. Download the latest version of ROSTAPACK on GitLab (v1.0).
  3. The only installation task is to add the ROSTAPACK/large-scale subfolder to the search path in MATLAB. If you frequently use ROSTAPACK, you may wish to add this to your startup.m file.
  4. A general overview of ROSTAPACK and its routines is given in the USAGE_AND_CITING.pdf document found in the main ROSTAPACK folder.
  5. To read the detailed documentation for the main two computational routines, enter: help getStabRadBound
    help specValSetBound
  6. To read the detailed documentation for their respective user-tunable parameters, enter: help getStabRadBoundOptions
    help specValSetBoundOptions

Citing

Instructions for citing ROSTAPACK (and the relevant papers describing the underlying algorithms) are given in USAGE_AND_CITING.pdf document found in the main ROSTAPACK folder.

License

ROSTAPACK is licensed under the GNU Affero General Public License, version 3.

ROSTAPACK contains four minor subroutines that are licensed under the GNU General Public License, version 3. These subroutines, which are identified by their GPL v3 license headers, are code derived from the PSAPSR package, specifically the v1.3-1.4 modified branch.