The technique of iterative refinement for improving the computed solut
ion to a linear system was used on desk calculators and computers in t
he 1940s and has remained popular. In the 1990s iterative refinement i
s well,supported in software libraries, notably in LAPACK. Although th
e behaviour of iterative refinement in floating point arithmetic is re
asonably well understood, the existing theory is not sufficient to jus
tify the use of fixed precision iterative refinement in all the LAPACK
routines in which it is implemented. We present analysis that provide
s the theoretical support needed for LAPACK. The analysis covers both
mixed and fixed precision iterative refinement with an arbitrary numbe
r of iterations, makes only a general assumption on the underlying sol
ver, and is relatively short. We identify some remaining open problems
.