 
 
 
 
 
 
 
 
 
 
Deflation is an important concept in the practical implementation
of the QR iteration and therefore equally important to the IRAM.  
In the context of the QR iteration, deflation amounts to setting 
a small subdiagonal element of the
Hessenberg matrix  to zero.  This is called deflation because 
it splits the Hessenberg matrix into two smaller subproblems which 
may be independently refined further.
 to zero.  This is called deflation because 
it splits the Hessenberg matrix into two smaller subproblems which 
may be independently refined further. 
However, in the context of IRAM, the usual QR deflation techniques are 
not always appropriate. Additional deflation capabilities specific to 
implicit restarting are needed. 
It is often desirable to deflate at an accuracy 
level  with
 with  
 , 
where
, 
where  is machine precision.  In theory (i.e., in
exact arithmetic), when
 is machine precision.  In theory (i.e., in
exact arithmetic), when  has a multiple eigenvalue corresponding
to distinct eigenvectors, it would be
impossible for IRAM to compute more than one instance of this multiplicity.
This is because it is a ``single vector" rather than a block method.
However, in practice, there is usually little difficulty in computing
multiple eigenvalues because the method deflates itself as convergence
takes place, and roundoff usually introduces components in new eigenvector directions
in the subsequent starting vectors.  Nevertheless, this can be unreliable
and miss a multiple eigenvalue.  In any case, this approach typically
will require a stringent convergence tolerance to succeed in finding all 
instances of a multiple eigenvalue. 
It is far more efficient to deflate (i.e., lock) an approximate eigenvalue
once it has converged to a certain level of accuracy and then force
subsequent Arnoldi vectors to be orthogonal to the converged subspace.
With this capability,  additional instances of a multiple eigenvalue can be 
computed to the same specified accuracy without the expense of converging them 
to unnecessarily high accuracy.
 has a multiple eigenvalue corresponding
to distinct eigenvectors, it would be
impossible for IRAM to compute more than one instance of this multiplicity.
This is because it is a ``single vector" rather than a block method.
However, in practice, there is usually little difficulty in computing
multiple eigenvalues because the method deflates itself as convergence
takes place, and roundoff usually introduces components in new eigenvector directions
in the subsequent starting vectors.  Nevertheless, this can be unreliable
and miss a multiple eigenvalue.  In any case, this approach typically
will require a stringent convergence tolerance to succeed in finding all 
instances of a multiple eigenvalue. 
It is far more efficient to deflate (i.e., lock) an approximate eigenvalue
once it has converged to a certain level of accuracy and then force
subsequent Arnoldi vectors to be orthogonal to the converged subspace.
With this capability,  additional instances of a multiple eigenvalue can be 
computed to the same specified accuracy without the expense of converging them 
to unnecessarily high accuracy.
In the Arnoldi procedure, as with a QR iteration, it is possible 
for some of the
leading  subdiagonals to become small during the course of implicit 
restarting.  However, it is usually the case that there are converged
Ritz values appearing in the spectrum of
 subdiagonals to become small during the course of implicit 
restarting.  However, it is usually the case that there are converged
Ritz values appearing in the spectrum of  long before small
subdiagonal elements appear.  This convergence is usually detected
through observation of a small last component in an eigenvector
 long before small
subdiagonal elements appear.  This convergence is usually detected
through observation of a small last component in an eigenvector  of
 of  .
When this happens, we are able to construct
an orthogonal similarity transformation of
.
When this happens, we are able to construct
an orthogonal similarity transformation of  that will give
an equivalent Arnoldi factorization with a slightly perturbed
 that will give
an equivalent Arnoldi factorization with a slightly perturbed  that
does indeed have a zero subdiagonal, and this is the basis of our
deflation schemes.
 that
does indeed have a zero subdiagonal, and this is the basis of our
deflation schemes.  
In the context of IRAM, there are two types of deflation required:
 has converged 
(meaning
 has converged 
(meaning 
 ) and thought to be a member
of the wanted set of eigenvalues,  then we wish to declare
it converged, decouple the eigenpair
) and thought to be a member
of the wanted set of eigenvalues,  then we wish to declare
it converged, decouple the eigenpair  , and continue 
to compute remaining eigenvalues with no further alteration of
, and continue 
to compute remaining eigenvalues with no further alteration of  or
 or  .
This process is called locking.
.
This process is called locking.
 has converged but 
is not a member of the wanted set, then we wish to
decouple and remove the eigenpair
 has converged but 
is not a member of the wanted set, then we wish to
decouple and remove the eigenpair  from the current Krylov subspace spanned by the Arnoldi vectors.
This process is called purging.
 
from the current Krylov subspace spanned by the Arnoldi vectors.
This process is called purging.
 , which may be considerably larger than 
machine 
precision
, which may be considerably larger than 
machine 
precision  .  This is particularly important when an 
SI is not available to accelerate convergence.  
Typically, in this setting the number of matrix-vector products will
be large and it will be highly desirable to lock converged Ritz values
at low tolerances.  This will avoid the expense of the matrix-vector products
that would be required to achieve an accuracy that would allow normal 
QR-type deflation.  Also, it is very important to be able to purge 
converged but unwanted Ritz values.  As pointed out in  [289],
the forward instability of the QR bulge-chase process 
discovered by Parlett and Le [359] will prevent implicit
restarting to be used for purging converged unwanted Ritz values.
.  This is particularly important when an 
SI is not available to accelerate convergence.  
Typically, in this setting the number of matrix-vector products will
be large and it will be highly desirable to lock converged Ritz values
at low tolerances.  This will avoid the expense of the matrix-vector products
that would be required to achieve an accuracy that would allow normal 
QR-type deflation.  Also, it is very important to be able to purge 
converged but unwanted Ritz values.  As pointed out in  [289],
the forward instability of the QR bulge-chase process 
discovered by Parlett and Le [359] will prevent implicit
restarting to be used for purging converged unwanted Ritz values.
 
 
 
 
 
 
 
 
