HSL (Fortran library)

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_.