In the Hermetian case it is very easy to find the next approximate eigenpair once another is converged. We simply require our correction to be orthogonal not only to , but as well to all previously converged Ritz vectors. If contains the converged Ritz vectors, define the orthonormal matrix , so that is a projection. Our new correction equation will then be
In the non-Hermetian case this strategy will not work as will fail to be a projection if the Ritz vectors are not orthogonal. So what can we do?
The non-Hermetian case
To fix this problem, we simply change our goal somewhat. Rather than computing and storing eigenvectors, we compute Schur vectors, so that we can guarantee orthonormality of and therefore use the new correction equation.
However, if we choose to work with Schur vectors rather than eigenvectors, we must also come up with a new convergence criterion. Suppose the converged Schur vectors are stored in . Previously we used for a Ritz pair . But if is a Schur vector it lacks directions of the eigenvector spanned by the columns of , so the residual will always be large. To remedy this, we inspect the size of the residual with the directions of removed:
When a few Schur vectors are converged we get a decomposition with upper triangular and unitary. The next converged Schur vector is appended to as . Updating is easy as well, as it must be of the form
Equating implies , so therefore . Note that this quantity is already computed when we validate the convergence criterion.