• Aspen HSL (formerly Harwell Subroutine Library)

    Latest release - HSL 2007

    HSL (formerly the Harwell Subroutine Library) is a collection of Fortran packages for large scale scientific computation written and developed by the Numerical Analysis Group at the Rutherford Appleton Laboratory and by other experts and collaborators. It offers users a high standard of reliability and has an international reputation as a source of robust and efficient numerical software.

    HSL packages are regularly incorporated into advanced software applications, allowing software and application developers to leverage the many thousands of programming hours invested in the HSL packages and ensuring tested, high quality, efficient algorithms.

    More than of 2000 organisations world-wide use HSL, with packages incorporated, under licence, into more than 90 commercially available software products.

    Benefits & advantages

    • Speed up application development cycle, reducing time-to-market and gaining competitive advantage
    • Reduce development costs
    • Free up time to focus on specialist aspects of applications
    • Improve application accuracy and robustness
    • HSL packages are thread safe enabling the user to safely run multiple instances of the package simultaneously in different threads or on different processors.

    HSL 2007

    HSL 2007 contains codes for Automatic Differentiation, Differential Equations, Eigenvalues & Eigenvectors, Mathematical Functions, Sorting, Linear Programming, Linear Algebra, Nonlinear Equations, Polynomials, Optimization and Non-linear data fitting.
    It contains many new packages, which have been developed as a result of recent research into advanced numerical algorithms. Click here to view the catalogue.

    New in this initial release:

    New packages 

    • HSL_EA19 Sparse symmetric or Hermitian: leftmost eigenpairs
    • HSL_KB22 (replaces HSL_KB12) Sorting reals using the Heapsort method
    • HSL_MA54 Kernel code for HSL_MA77 (definite case)
    • HSL_MA74 Kernel code for HSL_MA78
    • HSL_MA78 Sparse unsymmetric finite-element system: multifrontal out of core
    • HSL_MC64 Permute and scale a sparse unsymmetric or rectangular matrix to put large entries on the diagonal
    • HSL_MC68 Symmetric sparse matrix: compute elimination orderings
    • MF64 Permute and scale a sparse complex unsymmetric matrix to put large entries on the diagonal
    • HSL_MI13 constructs preconditioners for saddle point systems
    • MI15 Unsymmetric system: flexible GMRES
    • HSL_MI20 Unsymmetric system: algebraic multigrid preconditioner
    • HSL_OF01 Fortran virtual memory
    • HSL_ZB01 Reallocate an array
    • HSL_ZD11 (replaces HSL_KB12) Derived type for sparse matrix storage schemes

    List of packages available in this release - HSL 2007 

    Many of the older HSL packages have gradually been superseded by newer versions, with increases in functionality, improved interfaces, or speed of execution. As a result, HSL is now arranged in two parts, the main library, HSL 2007; and an archive, HSL Archive. The HSL Archive comprises older packages that were part of previous releases of HSL, many of which have been superseded by more modern codes.

    Design and language of HSL

    HSL 2007 and the HSL Archive are arranged as collections of Fortran 77 and Fortran 90/95 packages, each of which consists of either a single program unit or a set of program units. Almost all the Fortran 77 program units are subroutines, but there are also some functions and some HSL Archive packages contain block data subprograms to provide default values for variables in common blocks. The Fortran 90/95 program units are modules. Each package performs a basic numerical task and has been designed to be incorporated into programs. Each has its own specification document (available as a PDF file), which gives full details about how to use the package.

  ©1994-2014, Aspen Technology, Inc. All rights reserved. | Privacy Policy

Follow Us: