Computation of Stability-Radii for Linear Dissipative Hamiltonian Systems

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

[1] N. Aliyev, V. Mehrmann and E. Mengi. Computation of Stability Radii for Large-Scale Dissipative Hamiltonian Systems. arXiv preprint:1808.03574v2 [math.NA].

[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.