The work on the BLAS and on adapting algorithms to utilize the BLAS has culminated in the development of the dense linear algebra package, LAPACK [&make_named_href('', "node12.html#ABBDDDGHMOS:95","[]")], developed under the LAPACK project, for PCs, workstations, vector computers and shared memory high performance machines, which uses block-partitioned algorithms wherever possible and makes extensive use of the Level 3 BLAS, as well as the other BLAS. For background and further information on LAPACK see DH:CH:90 and DDSV:91. See also DPW:RWS:93 for discussion of an object oriented interface for LAPACK. At the time of writing, the development of LAPACK continues, with the Release 3 in later in 1996. Much of LAPACK has been incorporated into the NAG Fortran 77 Library and is utilized in the NAG Fortran 90 Library.
A C version of LAPACK has been produced using the f2c translator [&make_named_href('', "node12.html#FGMS:ATT:91","[]")] and a Fortran 90 interface to LAPACK has also been proposed in DDHWZ:DMW:95x.
The development of LAPACK has included the production of an extensive set of testing and timing routines. The test routines follow much the same philosophy as the development of the BLAS test programs discussed above, and are described in detail in the Installation Guide for LAPACK [&make_named_href('', "node12.html#ADO:UTK-cs:92","[]")], together with a description of the timing routines. The testing of linear algebra software is discussed further in the paper by N. J. Higham in this volume.
LAPACK contain routines for the solution of dense and banded systems of linear equations, linear least squares problems and eigenvalue problems. The goals of the LAPACK project are efficiency so that the computationally intensive routines execute as fast as possible; reliability, including the return of error bounds; portability across machines; flexibility so that users may construct new routines from well designed components; ease of use; maintainability; and good documentation.