mikem+@andrew.cmu.edu (Michael Meyer) (04/07/91)
Archive-name: math/stat/cmlib/1991-04-05
Original-posting-by: mikem+@andrew.cmu.edu (Michael Meyer)
Original-subject: CMLIB source on StatLib
Reposted-by: emv@msen.com (Edward Vielmetti, MSEN)
I have collected the CMLIB library of Fortran routines and made them
available on StatLib. This is an experiment. If things work well I
will leave CMLIB on StatLib. If I find the load on my machine is too
great (like too many people trying to obtain everything) then I'll have
to remove CMLIB. Some of the CMLIB collections are very large. Please
be sure that you really want the source before you ask for it. If you
are going to make large requests from StatLib, please try to send the
mail between midnight and 5am EST (5am-10am GMT/UTC).
For general information on StatLib, send the message
send index
to statlib@lib.stat.cmu.edu.
To get started with CMLIB, send the message
send index from cmlib
to statlib@lib.stat.cmu.edu.
The response you will get will be like the following text.
Mike Meyer, StatLib archivist.
================================================================
Welcome to CMLIB. Cmlib was produced by the National Bureau of
Standards (now National Institute of Standards and Technology).
A short summary of CMLIB's contents is available as
send summary from cmlib
and is included at the end of this index.
CMLIB is as a library of Fortran routines. There are no name
conflicts within CMLIB. In StatLib I have made the individual CMLIB
sub-libraries available. Each sub-library (e.g., the amoslib
sub-library) is available as individual source files and as a shar
archive of all the files in the library. In addition, for each
library there is also a shar archive of all the other CMLIB routines
which are required for the particular sub-library. For each
sub-library there is a also set of documentation. Again, this is
available as individual files and as a shar archive of all the
documentation for the sub-library. Each sub-library is arranged in a
similar form. I'll use amoslib (special functions) as an example.
If you are interested in amoslib, you might start with the request
send summary from cmlib/doc/amoslib
By return mail you will receive a summary of the routines in amoslib.
If you are interested in further documentation you might send the
request
send index from cmlib/doc/amoslib
The index will will look like
...... deleted material ........
archive 40959 bytes
besj 3280 bytes
besy 2776 bytes
cjyhbs 1755 bytes
...... deleted material ........
summary 4689 bytes
Thus in the documentation tree for amoslib there is the summary
documentation, detailed documentation on some individual routines, and
the file "archive", which contains all the available documentation for
amoslib. Thus the message
send archive from cmlib/doc/amoslib
would result in a shar archive of all the available documentation.
The src tree is similarly arranged. The result of
send index from cmlib/src/amoslib
would be
...... deleted material ........
archive 230956 bytes
asyjy.f 21983 bytes
besj.f 12651 bytes
besy.f 6039 bytes
besynu.f 9345 bytes
...... deleted material ........
depend 175450 bytes
...... deleted material ........
There are individual routines for certain functions. Thus
send besj.f from cmlib/src/amoslib
would return just that one FORTRAN subroutine.
There are two special files, archive and depend. The archive file
contains a shar archive of all the source files in the amoslib
collection. The depend file contains all the other CMLIB routines
(from other sub-libraries) that are required by the amoslib
sub-libraries.
Thus
send archive from cmlib/src/amoslib
send depend from cmlib/src/amoslib
would return two shar archives which could be compiled into a stand
alone library.
****** PLEASE NOTE, THE archive AND depend FILES ARE VERY LARGE ******
StatLib is supported on a small workstation! Please make sure you
really want an entire archive or depend file before you ask for it and
please do not try to obtain all of CMLIB by e-mail.
Most of the routines should compile without any modification, except
for the routines in the machcon sub-library. These three routines
(i1mach.f, d1mach.f, r1mach.f) are used to set some machine constants.
You, the user, will have to edit these files an insert appropriate
constants. The files come with a large number of machine descriptions,
but you will have to choose one of them.
The archive and depend shar archives (in both the src and doc trees)
are created so that unpacking them on a unix system will recreate the
cmlib tree. Thus the amoslib src archive file will unpack into
./src/amoslib/{files...}
and the amoslib doc archive will upack into
./doc/amoslib/{files...}
The amoslib depend file will unpack into
./src/fnlib/{files...}
./src/machcon/{files...} and
./src/xerror/{files...}
The following CMLIB collections are available. Each has its own index.
cmlib/doc/adapt cmlib/doc/amoslib cmlib/doc/blas
cmlib/doc/bocls cmlib/doc/bspline cmlib/doc/bvsup
cmlib/doc/cdriv cmlib/doc/cluster cmlib/doc/cpqr79
cmlib/doc/cpzero cmlib/doc/dbsplin cmlib/doc/ddassl
cmlib/doc/ddriv cmlib/doc/depac cmlib/doc/dnl2sn
cmlib/doc/dqrlss cmlib/doc/dtensbs cmlib/doc/eispack
cmlib/doc/fc cmlib/doc/fcnpak cmlib/doc/fftpkg
cmlib/doc/fishpak cmlib/doc/fnlib cmlib/doc/licepak
cmlib/doc/lindrv cmlib/doc/linpakc cmlib/doc/linpakd
cmlib/doc/linpaks cmlib/doc/lotps cmlib/doc/machcon
cmlib/doc/mxentrp cmlib/doc/nl2sn cmlib/doc/odrpack
cmlib/doc/pchipd cmlib/doc/pchips cmlib/doc/q1da
cmlib/doc/quadpkd cmlib/doc/quadpks cmlib/doc/rv
cmlib/doc/sdassl cmlib/doc/sdriv cmlib/doc/sglss
cmlib/doc/slrpack cmlib/doc/slvblk cmlib/doc/snls1e
cmlib/doc/splp cmlib/doc/sqrlss cmlib/doc/ssort
cmlib/doc/sudsods cmlib/doc/tensbs cmlib/doc/twodq
cmlib/doc/uncmin cmlib/doc/vfft cmlib/doc/vhs3
cmlib/doc/vsfft cmlib/doc/xblas cmlib/doc/xerror
cmlib/doc/ysmp cmlib/doc/zeroin
cmlib/src/adapt cmlib/src/amoslib cmlib/src/blas
cmlib/src/bocls cmlib/src/bspline cmlib/src/bvsup
cmlib/src/cdriv cmlib/src/cluster cmlib/src/cpqr79
cmlib/src/cpzero cmlib/src/dbsplin cmlib/src/ddassl
cmlib/src/ddriv cmlib/src/depac cmlib/src/dnl2sn
cmlib/src/dqrlss cmlib/src/dtensbs cmlib/src/eispack
cmlib/src/fc cmlib/src/fcnpak cmlib/src/fftpkg
cmlib/src/fishpak cmlib/src/fnlib cmlib/src/licepak
cmlib/src/lindrv cmlib/src/linpakc cmlib/src/linpakd
cmlib/src/linpaks cmlib/src/lotps cmlib/src/machcon
cmlib/src/mxentrp cmlib/src/nl2sn cmlib/src/odrpack
cmlib/src/pchipd cmlib/src/pchips cmlib/src/q1da
cmlib/src/quadpkd cmlib/src/quadpks cmlib/src/rv
cmlib/src/sdassl cmlib/src/sdriv cmlib/src/sglss
cmlib/src/slrpack cmlib/src/slvblk cmlib/src/snls1e
cmlib/src/splp cmlib/src/sqrlss cmlib/src/ssort
cmlib/src/sudsods cmlib/src/tensbs cmlib/src/twodq
cmlib/src/uncmin cmlib/src/vfft cmlib/src/vhs3
cmlib/src/vsfft cmlib/src/xblas cmlib/src/xerror
cmlib/src/ysmp cmlib/src/zeroin
Here is a brief summary of the CMLIB libraries.
----------------------------------------------------------------------
N B S C O R E M A T H L I B R A R Y ( C M L I B )
----------------------------------------------------------------------
( Version 3.0 --- April 1988 )
A collection of non-proprietary, easily transportable Fortran
subprogram packages solving a variety of mathematical and statistical
problems.
Compiled by Ronald F. Boisvert
Sally E. Howe
David K. Kahaner
Center for Applied Mathematics
National Bureau of Standards
Gaithersburg, MD 20899
Although most applications will only use a small number of CMLIB
modules, there are no name conflicts within the library and thus all
of CMLIB can easily be installed. All the documentation is machine
readable.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ +
+ DISCLAIMER +
+ +
+ Inclusion of computer programs in the NBS Core Math Library (CMLIB) +
+ does not imply certification, recommendation, or endorsement by the +
+ National Bureau of Standards, nor does it imply that the programs +
+ are necessarily the best available for the purpose. +
+ +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ADAPT.........A subroutine for evaluation of the integral of a user
specified function on a hyper rectangle of dimension 2
through 20.
AMOSLIB.......A collection of special function routines with
particular emphasis on the special functions of
statistics.
BLAS..........Basic linear algebra subroutines. Perform various
elementary matrix and vector opertaions.
BOCLS.........Solves bounded and linearly constrained linear least
squares problems.
BSPLINE.......Subroutines for computing with piecewise polynomials (B-
splines). Includes interpolation, differentiation and
integration with B-splines.
BVSUP.........Solves linear two-point boundary value problems using
superposition voupled with an orthonormalization
procedure and a variable-step integration scheme.
CDRIV.........Solves initial value problems for systems of ordinary
differential equations including stiff equations.
Complex differential equations, real independent
variable.
CLUSTER.......Subroutines for cluster analysis and related line
printer graphics. Included are routines for clustering
variables and/or observations using algorithms such as
direct joining and splitting, Fisher's exact optimi-
zation, single-link, K-means, and minimum mutations, and
routines for estimating missing values.
CPQR79........Two subprograms for finding all (complex) zeros of real
or complex polynomials. (Based on EISPACK software.)
CPZERO........Two subprograms for finding all (complex) zeros of real
or complex polynomials. (Based on Newton's method.)
DBSPLIN.......Subroutines for computing with piecewise polynomials (B-
splines). Double precision version of BSPLINE package.
DDASSL........Solves the system of differential/algebraic equations of
the form g(t,y,yprime) = 0. (Double precision version of
SDASSL)
DEPAC.........A suite of programs for solving initial value problems
for ordinary differential equations.
DDRIV.........Solves initial value problems for systems of ordinary
differential equations, including stiff systems. (Double
precision version of SDRIV).
DNL2SN........A collection of two subprograms for nonlinear least
squares problems and three subprograms for general
unconstrained minimization problems. Double precision
version of NL2SN.
DQRLSS........Solves linear least squares problem in the matrix form
Ax=b. Uses LINPACK routines. Easy to use. Double
Precision version of SQRLSS.
DTENSBS.......Interpolation of two and three dimensional gridded data
using tensor products of one dimensional B-spline basis
functions. Double precision version of TENSBS.
EISPACK.......Solves various linear algebraic eigenvalue problems.
FC............Solves constrained least squares problems.
FCNPAK........A collection of special function routines, including the
associated Legendre functions (Ferrers functions), the
normalized Legendre polynomials, and elliptic integrals
of the first, second, and third kinds.
FFTPKG........Subroutines for computing the fast Fourier transform in
various forms.
FNLIB.........Portable special function routines (e.g. Bessel
functions, the error function, etc.)
FISHPAK.......FISHPAK solves separable elliptic boundary value
problems in two and three dimensions using a variety of
coordinate systems.
LICEPAK.......Solves various linear algebraic eigenvalue problems.
(Provides an interface to the EISPACK package).
LINDRV........Programs to solve linear systems of algebraic equations
in a number of forms. Provides an easy to use interface
to the LINPACK package.
LINPAKC.......Analyse and solve various systems of linear algebraic
equations. (Complex precision version of LINPACK).
LINPAKD.......Analyse and solve various systems of linear algebraic
equations. (Double precision version of LINPACK).
LINPAKS.......Analyse and solve various systems of linear algebraic
equations. (Single precision version of LINPACK).
LOTPS.........A set of programs for smooth interpolation of scattered
data in two dimensions using thin-plate splines.
MACHCON.......Functions that return machine-dependent constants. These
are used by many routines in CMLIB.
MXENTRP.......compute maximum entropy spectrum estimates for equally
spaced time series.
NL2SN.........A collection of two subprograms for nonlinear least
squares problems and three subprograms for general
unconstrained minimization problems.
ODRPACK.......A collection of subprograms for computing a weighted
orthogonal distance regression or ordinary linear or
nonlinear least squares solution. (Both single and dou-
ble precision versions are available.)
PCHIPD........is a set of programs for interpolation of univariate
data and which is specially adapted to producing fits
which are are aesthetically pleasing. (Double precision
version of PCHIP).
PCHIPS........is a set of programs for interpolation of univariate
data and which is specially adapted to producing fits
which are are aesthetically pleasing. (Single precision
version of PCHIP).
Q1DA..........evaluates one dimensional integrals automatically, easy
to use but very powerful.
QUADPKD.......is a set of programs for evaluating definite integrals
of functions of one variable; the double precision
version of QUADPKS.
QUADPKS.......is a set of programs for evaluating definite integrals
of functions of one variable; including singular
integrands and infinite intervals .
RV............generates uniform random numbers or normal numbers with
zero mean and standard deviation one. Portable,
reproducible, and with a long cycle
SDASSL........Solves the system of differential/algebraic equation of
the form g(t,y,yprime) = 0.
SDRIV.........Solves initial value problems for systems of ordinary
differential equations, including stiff systems.
SGLSS.........Solves over or underdetermined linear systems in least
squares sense.
SLRPACK.......A collection of subprograms for simple linear regression
SLVBLK........solves linear systems of algebraic equations where the
coefficient matrix is in "almost block diagonal" form
SNLS1E........Solves non-linear least squares problems and non-linear
systems of equations.
SPLP..........Solves linear programming problems (minimize a linear
function of n variables subject to linear equality
constraints).
SQRLSS........Solves linear least squares problem in the matrix form
Ax=b. Uses LINPACK routines. Easy to use.
SSORT.........Fast in-core sorting of arrays.
TENSBS........Interpolation of two and three dimensional gridded data
using tensor products of one dimensional B-spline basis
functions.
TWODQ.........Automatic evaluation of two dimensional integral of a
function f(x,y) on one or more triangles in the plane.
UNCMIN........Solves the unconstrained minimization problem for a
real-valued twice-continuously-differentiable function
of n variables.
VFFT..........A vectorized package of Fortran subprograms for the fast
Fourier transform of multiple real sequences.
VHS3..........A vectorized package of Fortran subprograms for the
solution of a three-dimensional Helmholtz equation on a
staggered grid.
VSFFT.........A vectorized package of Fortran subprograms for the fast
transform of multiple real sequences defined on a
staggered grid.
XBLAS.........Extended basic linear algebra subroutines. Perform
various matrix and vector operations not found in the
BLAS.
XERROR........Error handling utilities. These are used by most
subprograms in CMLIB.
YSMP..........The Yale Sparse Matrix Package. Solves large sparse
systems of linear algebraic equations in core with no
pivoting.
ZEROIN........Finds zeros of a function of one variable.
-------------------------------------------------------------------------
REVISION HISTORY
Version 1.0 March 1986
Version 2.0 March 1987
Version 3.0 April 1988