SLATEC
SLATEC Common Mathematical Library is a FORTRAN 77 library of over 1400 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
- Fong, Kirby W.; Jefferson, Thomas H.; Suyehiro, Tokihiko; Walton, Lee (July 1993). "Guide to the SLATEC Common Mathematical Library". netlib.org. Retrieved 13 November 2010.
- "Slatec".
- The file src/changes in the official distribution lists two such corrections, made in 1994 and 1999.
- GSL design document https://www.gnu.org/software/gsl/design/gsl-design.html#SEC1 as of October 2012.
- http://www.cisl.ucar.edu/css/software/fishpack/, "Archived copy". Archived from the original on 2011-10-10. Retrieved 2011-10-11.CS1 maint: archived copy as title (link)
- 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