MathOverflow is a question and answer site for professional mathematicians. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Given a symmetric $n\times n$ matrix matrix and $m$ of the eigenvalue/vector pairs, is there an efficient and numerically stable way to factor out the known structure such that only a smaller $(n-m)\times (n-m)$ problem needs to be solved to get the full set of eigenvalues/vectors ? The known eigenvalues are all zero, so the corresponding eigenvectors span the kernel of the matrix.

share|cite|improve this question
Assuming that you've got the complete kernel and the matrix is real, the other eigenvectors span the orthogonal complement of the kernel. Complete the given eigenvectors to a basis of the whole space (e.g., by including suitable elementary vectors) and orthogonalize it using Gram–Schmidt. Switch to the new basis, you'll get an $(n-m)\times(n-m)$ matrix (and a lot of zeros). – Emil Jeřábek Mar 4 '11 at 17:20
I've thought about this solution, but Gram-Schmidt is not numerically most stable method, so I was hoping for something better. – Rasmus Tamstorf Mar 6 '11 at 0:47
You can replace Gram-Schmidt with a QR factorization, computed via one of the "usual" methods (Householder reflections or Givens transformation). – Federico Poloni Mar 15 '11 at 22:21

If you already know that all the known eigenvalues of your matrix are zero, it might prove profitable to reduce your original symmetric matrix to tridiagonal form; the nice thing about reducing your matrix to tridiagonal form is that your matrix splits into smaller submatrices if your original matrix had repeated eigenvalues to begin with.

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.