HSL, originally the Harwell Subroutine Library, is a collection of Fortran 77 and 95 codes that address core problems in Numerical Analysis. It is primarily developed by the Numerical Analysis Group at the Rutherford Appleton Laboratory with contributions from other experts in the field.
HSL codes are easily recognizable by the format of their names, consisting of two letters followed by two numbers, dating back to early versions of Fortran's limited subroutine name length. The letters denote a broad classification of the problem they solve, and the numbers serve to distinguish different codes. For example, the well known sparse LU code MA28 (superseded by MA48) is a Matrix Algebra code number 28. Fortran 95 codes are differentiated from Fortran 77 codes by the prefix HSL_.
Original development of the Harwell Subroutine Library began in 1963 by Mike Powell and Mike Hopper for internal use on an IBM mainframe at AERE Harwell. Early contributors also included Alan Curtis. With a spreading reputation, the Library was distributed externally for the first time in 1964 upon request. The first library catalog (AERE Report M-1748) was released in 1966.
Over the intervening years, HSL has striven to maintain a high standard of reliability and has garnered a worldwide reputation as a prime source of numerical software. It has undergone a number of changes to reflect newly available features of the Fortran language, completing in 1990 the conversion to Fortran 77, and more recently, the entire Library has been made thread safe
. Many newer codes are written in Fortran 95.
New packages continue to be developed, with a new release issued every two to three years. Many older codes have now been superseded and are available in the HSL Archive.
The current version, HSL 2007
is available without charge to individual academics direct from STFC
for teaching and their own academic research purposes. It is available commercially from Aspentech.
- J.K.Reid and J.A.Scott (Dec 2006, Sep 2007), Guidelines for the development of HSL software, Technical Report RAL-TR-2006-031
- M.J.D.Powell 25 years of Theoretical Physics 1954-1979: Chapter XVIII: Numerical Analysis. A special publication by Harwell Research Laboratory of UKAEA