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.