11

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.

Willowbrook
  • 601
  • 3
  • 10

1 Answers1

9

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.

Arnold Neumaier
  • 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