Suppose A is a general sparse matrix, and I want to compute the eigenvalues. I do not know how to detect the multiplicity for the eigenvalues. As far as I know, for a special case, finding the polynomial roots by companion matrix method, we can apply RRQR to detect the multiplicity for the roots.
1 Answers
Strictly speaking, the problem of computing multiplicities is ill-posed, as arbitrarily small perturbations may change the multiplicities (usually reducing them to 1). However, to some approximation, the following works.
If you have a close eigenvalue approximation $\sigma$ and can afford to factor $A-\sigma I$ then you can apply a subspace method with the matrix $B=(A-\sigma I)^{-1}$ to find the eigenspace of eigenvalues close to $\sigma$. Projecting to an orthonormal basis of that space and computing the Schur decomposition then gives the numerical decomposition into eigenspaces and their multiplicities, as far a a numerical method can determine them.
If you cannot a afford a single factorization, one can do similar things with a direct subspace method, but with much poorer resolution.
- 11,318
- 20
- 47
-
The classical example for this is the Forsythe matrix, which is the companion matrix of the polynomial $x^n-\varepsilon$, where $\varepsilon$ is sufficiently tiny. The matrix itself is not defective, but only a tiny perturbation is needed (in the upper right corner) to turn it into a Jordan block, which is defective. – J. M. May 03 '12 at 06:04