*What is ...*

**SLATEC**
is a collection of some 1400 `FORTRAN`

routines that solve
a variety of scientific problems. It incorporates routines from
`BSPLINE`

, `EISPACK`

, `FFTPACK`

,
`FNLIB`

, `QUADPACK`

, `SLAP`

, and other
packages. The acronym stands for: **S**andia,
**L**os Alamos, **A**ir
Force Weapons Laboratory **T**echnical
**E**xchange
**C**ommittee.

*Content ...*

SLATEC adopts **GAMS**
(**G**uide to **A**vailable
**M**athematical **S**oftware)
for classifying its routines. GAMS is a hierarchical classification with the following
top level:

A. Arithmetic, error analysis C. Elementary and special functions (see also L5) D. Linear Algebra E. Interpolation F. Solution of nonlinear equations G. Optimization (see also K and L8) H. Differentiation, integration I. Differential and integral equations J. Integral transforms K. Approximation (see also L8) L. Statistics, probability N. Data handling (see also L2) R. Service routines Z. Other

*How to ...*

In order to **invoke** (or
call) a SLATEC routine, you
must first find out its **name**
and then determine its **API**
(parameters, returns, etc.).

Your first stop should be the detailed table of contents, which
is stored in the file `\F\SLATEC\DOC\toc`

of the
download package, and which is reproduced here
for your convenience. You can either follow the GAMS classification,
level by level, until you find a routine that solves your problem or
use the search facility of your browser to look for keywords pertaining
to your problem. This will ultimately leads to the routine's name.
Note that SLATEC contains several variants of the same routine differing only
in the types of data they take. These (overloaded) routines have the same
name except for a one-letter prefix: **S**
for single precision real numbers, **D**
for double precision real numbers, **C**
for complex numbers, **I** for integers,
**L** for logical, and
**H** for strings.

For example, if you are interested in factorials, you can either start with
classification **C** (Elementary and special functions)
and climb down the levels or simply search for "factorial". Either way, this
will lead you to `FAC`

and `DFAC`

as two variants (one
returns single and the other double precision) of the SLATEC factorial routine.

Once you know the name of the routine, you find its API in the file:

. Hence, for the
double precision factorial function, you look in **name.f.html**`dfac.f.html`

.
All these API files are stored in the `\F\SLATEC\DOC`

directory of the
download package, and is also available on line here.
The file tells you whether this is a function or a subroutine, what exactly
does it do, what parameters it expects and what does it return, and information
about the routine's author, algorithm, and revision history.