\section{Installation}
   \label{sec:install}

The SBR toolbox comes with a {\tt UNIX} makefile for easy installation and a
testing program for validation and performance tuning.

In this section we briefly describe the ``standard'' installation procedure.
Detailed information about the installation process may be found in the
\NAME{README} file distributed with the software.

The installation consists of the following steps.
\begin{enumerate}
   \item Get the SBR toolbox from the TOMS repository at \texttt{netlib}
	   and unpack it with
	   \COMMAND{zcat sbr.tar.Z | tar xf -}%
	   This command 
	   puts all the SBR software into a new directory \texttt{sbr}.
   \item Edit the file \NAME{make.inc} to match your system setup (e.g., the
	   location of the LAPACK library, if the latter is installed on your
	   machine).
   \item Type
	   \COMMAND{make library}%
	   This command will build the library (called \NAME{libSBR.a} if you
	   did not change the name).
   \item (Optional.) Fine-tune the performance of the algorithms (cf.\ the
	   \NAME{README} file).
   \item (Recommended.) Run the validation tests by typing
	   \COMMAND{make checks}%
	   and have a look at the output files \NAME{DOUTCHK} and \NAME{SOUTCHK}.
	   They should report no ``skipped'' or ``failed'' tests.
   \item (Optional.) Run the additional timings (cf.\ the \NAME{README} file).
   \item (Optional.) Move the SBR library to a directory searched by
	   the linker.
\end{enumerate}

The testing programs provide the residuals $|| U \tilde A - A U ||_{F}$,
the orthogonality errors $|| U^{T} U - I ||_{F}$, and the timings for the
reduction of a symmetric (full or banded) matrix $A$ to a (narrower) banded
or tridiagonal matrix $\tilde A$ for matrices of different orders $n$ and
different semibandwidths.
If the orthogonal matrix $U$ is not accumulated then the above error
measures are not available.
In this case the deviation of the eigenvalues,
$|| \mbox{spec}( A ) - \mbox{spec}( \tilde A ) ||_{2}$, is computed instead,
where $\mbox{spec}( A )$ and $\mbox{spec}( \tilde A )$ are the eigenvalues
of $A$ and $\tilde A$, respectively, in ascending order.

