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 main computational routines included in ROSTAPACK v3.0 are as follows:
normTfMaxPeak computes the H-infinity or L-infinity
norm. This should be significantly faster than competing methods
in MATLAB, particularly if more than a handful of digits
are desired.
normTfPeak approximate the H-infinity or L-infinity
norm by finding a local maximizer of the norm of the transfer
function along the imaginary axis (continuous-time) or
unit circle (discrete-time).
specValSet computes the spectral value set
(or the pseudospectral) abscissa and radius.
specValSetBound approximates the spectral value set
(or the pseudospectral) abscissa and radius.
getStabRadBound implements the
Hybrid Expansion-Contraction (HEC) algorithm for approximating the
complex or real stability radius.
The reciprocal of the complex stability radius is the
H-infinity norm.
New methods for Kreiss constants, the distance to uncontrollability, sep-lambda, and the numerical radius are slated for future releases of ROSTAPACK. However, prototypes codes are available as supplementary materials of corresponding papers of mine on these topics. If you cannot access these codes, please contact me.
If you are using specValSet from the v2.0 release,
you should upgrade to the latest release. In v2.1, a bug was fixed which could cause
specValSet to be abnormally slower in certain configurations.
In v2.2, specValSet was made significantly faster via an
optimization using Hessenberg factorizations.
ROSTAPACK/main or
ROSTAPACK/large-scale subfolders
as desired to the search path in MATLAB. If you frequently use ROSTAPACK, you may
wish to add these to your startup.m file.
When using the large-scale routines, i.e. getStabRadBound and specValSetBound,
it is recommended to also download and install the latest version of eigsPlus.
However, the ROSTAPACK large-scale routines can also be used without installing
eigsPlus by setting
opts.eig_solver_opts.use_default_eigs = true;
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.
help normTfMaxPeak
help normTfPeak
help specValSet
help specValSetBound
help getStabRadBound
help normTfMaxPeakOptions
help normTfPeakOptions
help specValSetOptions
help specValSetBoundOptions
help getStabRadBoundOptions
normTfMaxPeak and normTfPeak routines added
for fast computation or approximation of the H-infinity or L-infinity normspecValSet: now significantly faster via Hessenberg factorizationsspecValSet: fixed bug which could increase running times for some problems/configurationsspecValSet routine added (small-scale exact method)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.
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.