These are MATLAB implementations of the subspace algorithms in [1] for computing the Crawford number of a matrix \(A\in \mathbb C^{n\times n}\), i.e., the distance of the numerical range \(\mathcal{F}(A)\) from zero:
\[ \gamma(A) = \min\{\, |z| \colon z\in \mathcal{F}(A)\, \},\qquad \mathcal{F}(A) = \{\, v^{*} A v \colon v\in \mathbb{C}^{n}, \|v\|_2=1\,\}. \]
To use crawfnos, the user can provide either a matrix \(A\), or a linear operator op with member functions: op.matvec, op.rmatvec, op.matmat to compute \(A\times x\), \(A^*\times x\) and \(A\times V\), for a vector \(x\in \mathbb C^{n}\) and matrix \(V\in \mathbb C^{n\times k}\), respectively.
All example data and routines used in the paper [1] are also included. For a detailed description of the usage of these routines, please check the readme files in the package.
Link crawfnos.tar.gz (updated on April 25, 2017).
Subspace acceleration for the Crawford number and related eigenvalue optimization problems
with Daniel Kressner and
Bart Vandereycken,
SIAM J. Matrix Anal. Appl., 2018. 39(2):961–982.
(preprint, MATLAB code)
Email: Ding.Lu@uky.edu
Homepage: http://www.ms.uky.edu/~dlu245/