The routines included here are Matlab implementations of the algorithms tailored in [1] to compute the non-Hermitian and Hermitian restricted stability radii for a linear dissipative Hamiltonian (DH) system. These stability radii were originally introduced in [2], eigenvalue optimization characterizations were also derived in the same paper. The algorithms exploit those eigenvalue optimization characterizations in [2].
Most of the routines are intended especially for large-scale dissipative Hamiltonian systems; they are implementations of subspace frameworks that converge quickly. Only, for the Hermitian stability radii, a direct approach addressing the small-scale problems is also included.
Click Here to Download only the Matlab Routines (Small)
Click Here to Download the Matlab Routines and the Data (Large)
(sample data are included in the larger file, for all data in [1] send an e-mail to emengi–at–ku.edu.tr)
Usage:
The main routines to call are the following.
non-Hermitian Stability Radii
- DHradiiJR_nonHermit: This is for the large-scale computation of the non-Hermitian stability radius with respect to perturbations of J and R.
- DHradiiQ_nonHermit : This is for the large-scale computation of the non-Hermitian stability radius with respect to perturbations of Q.
- DHradiiJR_nonHermit_Qinv : This is similar to <p”>DHradiiJR_nonHermit, but takes the inverse of Q as an input (instead of Q). Use this rather thanDHradiiJR_nonHermitif the inverse of Q is available and sparse rather than Q (which may potentially be dense).
Hermitian Stability Radii
- DHradiiJR_Hermit_ss: For the small-scale computation of the Hermitian stability radius with respect to Hermitian perturbations of R.
- DHradiiJR_Hermit: For the large-scale computation of the Hermitian stability radius with respect to Hermitian perturbations of R.
- DHradiiJR_Hermit_Qinv: Similar toDHradiiJR_Hermit, however expects the inverse of Q as an input rather than Q. Use this if the inverse of Q is available and sparse.
For the usage of these routines please see the sample calls. The input and output arguments for these routines are also described at the beginning of the routines.
Some of the Test Data Used in [1] (in Matlab Format)
Section 4.3.2
- The first dense random example of order 800 (randomdense1.mat)
- The second dense random example of order 800 (randomdense2.mat)
- The first sparse random example of order 5000 (randomsparse1.mat)
- The second sparse random example of order 5000 (randomsparse2.mat)
Sections 4.3.3 and 5.3.2
Section 5.3.1
- The small example of order 20 (random20by20.mat)
- The first example of order 1000 in the large examples part (random1000x1000_1.mat)
- The first example of order 2000 in the large examples part (random2000x2000_1.mat)
References
[2] C. Mehl, V. Mehrmann and P. Sharma. Stability Radii for Linear Hamiltonian Systems with Dissipation under Structure-Preserving Perturbations. SIAM J. Matrix Anal. Appl., 37(4):1625-1654, 2016.