Previous: Remaining topics
Next: Overview of the BLAS
Previous Page: Row Projection Methods
Next Page: Overview of the BLAS
A large body of numerical software is freely available 24 hours a day via an electronic service called Netlib. In addition to the template material, there are dozens of other libraries, technical reports on various parallel computers and software, test data, facilities to automatically translate FORTRAN programs to C, bibliographies, names and addresses of scientists and mathematicians, and so on. One can communicate with Netlib in one of a number of ways: by email, (much more easily) via an X-window interface called XNetlib, or through anonymous ftp (netlib2.cs.utk.edu).
To get started using netlib, one sends a message of the form send index to firstname.lastname@example.org. A description of the entire library should be sent to you within minutes (providing all the intervening networks as well as the netlib server are up).
FORTRAN and C versions of the templates for each method described in this book are available from Netlib. A user sends a request by electronic mail as follows:
mail email@example.comOn the subject line or in the body, single or multiple requests (one per line) may be made as follows:
send index from templatesThe first request results in a return e-mail message containing the index from the library linalg, along with brief descriptions of its contents. The second request results in a return e-mail message consisting of a shar file containing the single precision FORTRAN routines and a README file. The versions of the templates that are available are listed in the table below:
send sftemplates.shar from templates
Save the mail message to a file called templates.shar. Edit the mail header from this file and delete the lines down to and including << Cut Here >>. In the directory containing the shar file, type
sh templates.sharNo subdirectory will be created. The unpacked files will stay in the current directory. Each method is written as a separate subroutine in its own file, named after the method ( e.g., CG.f, BiCGSTAB.f, GMRES.f). The argument parameters are the same for each, with the exception of the required matrix-vector products and preconditioner solvers (some require the transpose matrix). Also, the amount of workspace needed varies. The details are documented in each routine.
Note that the vector-vector operations are accomplished using the BLAS  (many manufacturers have assembly coded these kernels for maximum performance), although a mask file is provided to link to user defined routines.
The README file gives more details, along with instructions for a test routine.