Software:SLATEC

From HandWiki

SLATEC Common Mathematical Library is a FORTRAN 77 library of over 1,400 general purpose mathematical and statistical routines. The code was developed at US government research laboratories and is therefore public domain software.

"SLATEC" is an acronym for the Sandia, Los Alamos, Air Force Weapons Laboratory Technical Exchange Committee, an organization formed in 1974 to foster the exchange of technical information between the computer centers of three US government laboratories.

Project history and current status

In 1977, the SLATEC Common Mathematical Library (CML) Subcommittee decided to construct a library of FORTRAN subprograms to provide portable, non-proprietary, mathematical software that could be used on a variety of computers, including supercomputers, at the three sites. The computers centers of the Lawrence Livermore National Laboratory, the National Bureau of Standards and the Oak Ridge National Laboratory also participated from 1980–81 onwards.[1]

The main repository for SLATEC is Netlib.[2] The current version is 4.1 (July 1993). Since then, a very small number of minor corrections has been made without incrementing the version number.[3]

The GNU Scientific Library (GSL), initiated in 1996 and stable since 2001, was started with the explicit aim to provide a more modern replacement for SLATEC.[4]

Contents

Each subroutine in SLATEC is tagged as belonging to one of 13 subpackages. Some of these subpackages are also well known as free-standing FORTRAN subprogram libraries, including BLAS, EISPACK, FFTPACK, LINPACK and QUADPACK. The following table shows all subpackages and the number of subroutines they contain:

subpackage number of routines separately available in Netlib purpose
BLAS 114 yes basic linear algebra
DASSL 16 no solve differential/algebraic equation systems
DEPAC 10 no solve ordinary differential equations (Runge–Kutta methods and similar)
EISPACK 71 yes eigenvalues and eigenvectors
FFTPACK 48 yes fast Fourier transform
FISHPACK 19 yes use cyclic reduction to directly solve second- and fourth-order finite difference approximations to separable elliptic Partial Differential Equations in various coordinate systems[5]
FNLIB 161 yes, as 'FN' special functions
LINPACK 128 yes linear algebra, outdated[6]
PCHIP 41 no piecewise cubic Hermite interpolation
QUADPACK 59 yes numerical integration of one-dimensional functions
SDRIVE 36 no solve ordinary differential equations
SLAP 124 yes sparse linear algebra package
XERROR 17 no error handling

References

  1. Fong, Kirby W.; Jefferson, Thomas H. (July 1993). "Guide to the SLATEC Common Mathematical Library". netlib.org. http://www.netlib.org/slatec/guide. Retrieved 13 November 2010. 
  2. "Slatec". http://www.netlib.org/slatec. 
  3. The file src/changes in the official distribution lists two such corrections, made in 1994 and 1999.
  4. GSL design document https://www.gnu.org/software/gsl/design/gsl-design.html#SEC1 as of October 2012.
  5. http://www.cisl.ucar.edu/css/software/fishpack/, "FISHPACK - A Poisson Equation Solver". Archived from the original on 2011-10-10. https://web.archive.org/web/20111010184456/http://people.sc.fsu.edu/~jburkardt/f77_src/fishpack/fishpack.html. Retrieved 2011-10-11. 
  6. As http://www.netlib.org/linpack says, LINPACK is largely superseded by LAPACK.

Further reading

  • Walter H. Vandevender, Karen H. Haskell, The SLATEC mathematical subroutine library, ACM SIGNUM Newsletter, Volume 17 Issue 3, September 1982 doi:10.1145/1057594.1057595

External links