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.