RefinEig:  a Program to Refine Eigensystems
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

W. Kahan
Mathematics,  and  E.E.&C.S. Depts.
University of California
Berkeley   CA  94720-1776


Abstract:
~~~~~~~~~
Software to compute eigenvalues and eigenvectors of matrices
can hardly be deemed infallible.  Results are often rather
less accurate than deserved by the data,  sometimes far less
accurate than different software could have provided at the
same cost.  Refineig  attempts to tidy up those results at
less cost than if the whole computation were repeated
carrying higher precision throughout.  Refineig  uses a
novel iterative refinement algorithm designed to cope well
with the most common cause of inaccuracy,  namely isolated
pairs of nearly coincident eigenvalues.  ( No way can exist
to cope economically with all possible pathologies.) 
Examples abound for which  refineig  improves accuracy
spectacularly,  but usually the improvement is modest. 
Curiously,  refineig  works far better with the more popular
floating-point arithmetics than with the more expensive ones 
( though all purport to conform to the same  IEEE Standard 
754  for floating-point arithmetic ),  and works far better
with earlier than later versions of  MATLAB.