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. Please try to restrict large requests to the early morning hours (00.00 - 6.00) in the Eastern United States (4.00 - 10.00 GMT/UTC). 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/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/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. 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