The PMATH mathematical subroutine library (libpmath.a) is a collection of 66 routines that was constructed as a portable subset of the former (machine-dependent) MATHLIB library with a few other routines added. PMATH supplements but does not duplicate the SLATEC library.
LC's former MSS group (and its predecessor groups) developed MATHLIB, much of which was coded in the machine language, CAL. To meet the need for a machine-independent portable mathematics subroutine library, PMATH ("P" for portable) was developed.
The user-callable routine names in PMATH, with brief descriptions, are listed below. All are Fortran callable, except for those from the random number generator family, which includes some C routines. Where two or more names are shown together, these correspond to the double and single precision versions (and possibly an integer version) of the routines. For details, see the source files, available from LINMath. In particular, the usage documentation of each routine is given in the source file of each routine.
Routine Name | Description |
---|---|
AAAAAA | Version Information |
DMAXAF,SMAXAF,IMAXAF | Maximum element of array |
DMINAF,SMINAF,IMINAF | Minimum element of array |
DMINMX,SMINMX,IMINMX | Minimum and maximum elements of array |
LDFD,LDFS | Table look-down function |
LUFD,LUFS | Table look-up function |
LUGD,LUGS | Table look-up function with guess |
DMEANF,SMEANF | Mean of 1D real array |
DMEANV,SMEANV | Mean vector of 2D real array |
DMEDF,SMEDF | Median of 1D real array |
DRANKS,SRANKS | Ranks of 1D real array |
DCORRV,SCORRV | Correlation matrix of 2D real array |
DCOVAR,SCOVAR | Variance-covariance matrix of 2D real array |
DSTDEV,SSTDEV | Standard deviation of 1D real array |
DZERO,SZERO | Zero of a nonlinear function |
DFITPO,SFITPO | Polynomial fit to data |
DREFIT,SREFIT | Repeated fitting after DFITPO,SFITPO |
DLSODE,SLSODE | Ordinary differential equation IVP solver |
DINTDY,SINTDY | Auxiliary interpolator routine for DLSODE,SLSODE |
DSRCOM,SSRCOM | Save and restore Common for DLSODE,SLSODE |
DCONST,SCONST | Common mathematical constants |
DUMACH,RUMACH | Unit roundoff |
IUMACH | Standard output unit number |
XERRWD,XERRWV | Print error message with values |
XSETF | Set error message control flag |
XSETUN | Set error message unit number |
Random Number Generator Family | |
Fortran-callable | |
DRANF,SRANF | Uniform random number generator |
DRANFV,SRANFV | Uniform random number generator (vectorized) |
DRLGF,SRLGF | Exponential random number generator |
C-callable | |
ranf8 | Uniform random number generator |
ranfv8 | Uniform random number generator (vectorized) |
rnfcnt | Count calls to RANF |
rnsget | Get RANF seed |
rnsset | Set RANF seed |
rnmset | Set RANF multiplier |
rlgf8 | Exponential random number generator |
rlfcnt | Count calls to RLGF |
rlsget | Get RLGF seed |
rlsset | Set RLGF seed |
rlmset | Set RLGF multiplier |