Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

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

The question Assuming one has obtained an eigenpair of a matrix via Lanczos, is it viable to simply orthogonalize a random vector against any known eigenvectors and use that as the Krylov seed in order to find orthogonal eigenvectors?

My comments Since eigenvectors are not necessarily orthogonal, just linearly independent, this implies that this method will only produce orthogonal eigenpairs (which would limit the number of solutions that Lanczos can produce). I have currently implemented this type of eigensearch which attempts to generate Krylov subspaces that do not contain known eigenpairs and I find myself getting the same eigenvalues quite frequently during one full matrix eigenpair solve. I think maybe degeneracy is occurring due to numerical rounding errors inherent in programming.

Some information on the types of matrices that I'm solving: They're hermitian and they're actually modes of a system. A fundamental concept in electromagnetics and quantum theory (the areas I'm using this solver in) is that the modes must be orthogonal. That's why I'm interested in orthogonal modes.

Other details that might help nail my potential misunderstandings about Lanczos I'm using Gram-Schmidt to find a new vector that is orthogonal since any known eigenvectors will be unchanged by the process as they are already orthogonal. Only the new random vector will be modified and made to be orthonormal to the known set of eigenvectors.

The Krylov subspace generated via Lanczos is created by starting with an random initial vector. I'm thinking that if you modify the initial guess vector to be orthogonal to known eigenvectors that you can generate a Krylov subspace which does not contain the known eigenpairs.

Any comments on my statements where I'm not technically correct or blatantly wrong would be extremely helpful.

share|cite|improve this question
It's not clear to me whether your question is about general matrices or Hermitian matrices. You write "eigenvectors are not necessarily orthogonal", which is not true for Hermitian matrices, but then you write that you're working with Hermitian matrices. – joriki Mar 7 '12 at 10:37
This is exactly the sort of comment I was looking for. I sincerely appreciate your time in reading my question. I now have something to potentially debug in my code. (I'm actually rather surprised that I didn't realize this, given that in QM the eigenvecs must be orthogonal and that all of the observable operators are Hermitian). – nick_name Mar 7 '12 at 18:50

Your Answer


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

Browse other questions tagged or ask your own question.