[comp.archives] [sci.math.stat] CMLIB source on StatLib

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