The orthogonal transformations developed in the previous section
will provide stable and efficient transformations needed to
implement locking and purging.
We shall give a somewhat detailed discussion of this deflation in complex arithmetic.
However, it is clearly important from the standpoint of efficiency to be able
to compute in real arithmetic if the matrix is real and non-symmetric.
In this case, it is usually desirable to lock or purge complex conjugate
pairs of Ritz values as a unit so that complex arithmetic never need be
introduced. This can be accomplished with a block formulation (block size = 2)
of the single-vector
case we are about to present. The purging in this case will be
a direct analog. Unfortunately, there may be numerical complications
with locking a complex conjugate pair. A complete discussion would involve
considerable detail and analysis. We feel these details are beyond the
scope of a template presentation. They may be found in [420].