===== How to use netlib ===== This file is the reply you'll get to: mail netlib@research.att.com send index Here are examples of the various kinds of requests. * get the full index for a library send index from eispack * get a particular routine and all it depends on send dgeco from linpack * get just the one routine, not subsidiaries send only dgeco from linpack * get dependency tree, but excluding a subtree send dgeco but not dgefa from linpack * just tell how large a reply would be, don't actually send the file send list of dgeco from linpack * get a list of sizes and times of all files in a library send directory for benchmark * search for somebody in the SIAM membership list: who is gene golub * keyword search for netlib software find cubic spline * bibliographic search find schumaker from approximation find aasen from linalg * set the chunk size used for reply mailsize 100k The Internet address "netlib@research.att.com" refers to a gateway machine at AT&T Bell Labs in Murray Hill, New Jersey. This address should be understood on all the major networks. For systems having only uucp connections, use the address uunet!research!netlib. In this case, someone will be paying for long distance 1200 baud phone calls, so keep your requests to a reasonable size! For access from Europe, try the duplicate collection in Oslo: Internet: netlib@nac.no EARN/BITNET: netlib%nac.no@norunix.bitnet X.400: s=netlib; o=nac; c=no; EUNET/uucp: nac!netlib For the Pacific, try netlib@draci.cs.uow.edu.au located at the University of Wollongong, NSW, Australia. A similar collection of statistical software is available from statlib@temper.stat.cmu.edu. An excellent guide to the mysteries of networks and address syntax is: Donnalyn Frey and Rick Adams (1989) "!%@:: A Directory of Electronic Mail Addressing and Networks", O'Reilly & Associates, Inc, 632 Petaluma Ave, Sebastopol CA 95472. Background about netlib is in Jack J. Dongarra and Eric Grosse, Distribution of Mathematical Software Via Electronic Mail, Comm. ACM (1987) 30,403-407 and in a quarterly column published in the SIAM News and SIGNUM Newsletter. Bugs reports, comments, and annual lists of recipients will be forwarded to the code authors when possible. Many of these codes are designed for use by professional numerical analysts who are capable of checking for themselves whether an algorithm is suitable for their needs. One routine can be superb and the next awful. So be careful! An inventory list is given below and in the indices for the individual libraries. If you know exactly what you're looking for, these guides may be enough. An interactive system called "walk" provides a more systematic list (not limited to netlib) but at present covers only approximation. Volunteers from other fields are needed. The reference is Eric Grosse, "A Catalog ...", in Algorithms for Approximation", Mason and Cox (eds.), Chapman and Hall, 1989. Dialup (at 1200 baud) 908-582-1238 or telnet to research.att.com and login as walk; no password is required. -------quick summary of contents--------- a - approximation algorithms alliant - set of programs collected from Alliant users amos - special functions by D. Amos. = toms/644 apollo - set of programs collected from Apollo users benchmark - various benchmark programs and a summary of timings bib - bibliographies bihar - Bjorstad's biharmonic solver blas3 - matrix * matrix BLAS bmp - Brent's multiple precision package c - another "misc" library, for software written in C cascade - analysis and design of linear control systems cheney-kincaid - programs from the 1985 text conformal - Schwarz-Christoffel codes by Trefethen; Bjorstad+Grosse contin - continuation, limit points core - machine constants, vector and matrix * vector BLAS c++ - code in the C++ language dierckx - spline fitting domino - communication and scheduling of multiple tasks; Univ. Maryland eispack - matrix eigenvalues and vectors elefunt - Cody and Waite's tests for elementary functions errata - corrections to numerical books f2c - Fortran to C converter fishpack - separable elliptic PDEs; Swarztrauber and Sweet fitpack - Cline's splines under tension fftpack - Swarztrauber's Fourier transforms fmm - software from the book by Forsythe, Malcolm, and Moler fn - Fullerton's special functions uncon/data - optimization test problems gcv - Generalized Cross Validation go - "golden oldies" gaussq, zeroin, lowess, ... graphics - auto color, ray-tracing benchmark harwell - MA28 sparse linear system hompack - nonlinear equations by homotopy method itpack - iterative linear system solution by Young and Kincaid jakef - automatic differentiation of Fortran subroutines kincaid-cheney - programs from the 1990 text lanczos - Cullum and Willoughby's Lanczos programs laso - Scott's Lanczos program for eigenvalues of sparse matrices linpack - gaussian elimination, QR, SVD by Dongarra, Bunch, Moler, Stewart lp - linear programming machines - short descriptions of various computers matlab - software from the MATLAB user's group microscope - Alfeld and Harris' system for discontinuity checking minpack - nonlinear equations and least squares by More, Garbow, Hillstrom misc - everything else na-digest - archive of mailings to NA distribution list napack - numerical algebra programs news - Grosse's Netlib News column for na-net, SIAM News, SIGNUM Newsletter ode - ordinary differential equations odepack - ordinary differential equations from Hindmarsh opt - optimization paranoia - Kahan's floating point test parmacs - parallel programmming macros pascal - another "misc" library, for software written in Pascal pchip - hermite cubics Fritsch+Carlson picl - portable instrumented communication library for multiprocessors pltmg - Bank's multigrid code; too large for ordinary mail polyhedra - Hume's database of geometric solids port - the public subset of PORT library pppack - subroutines from de Boor's Practical Guide to Splines quadpack - univariate quadrature by Piessens, de Donker, Kahaner research - miscellanea from AT&T Bell Labs, Computing Science Research Center sched - environment for portable parallel algorithms in a Fortran setting. slap - Seager + Greenbaum, iterative methods for symmetric and unsymmetric slatec - machine constants and error handling package from the Slatec library sparse - Kundert + Sangiovanni-Vincentelli, C sparse linear algebra sparse-blas - BLAS by indirection sparspak - George + Liu, sparse linear algebra core specfun - transportable special functions spin - simulation and validation of communication protocols, Gerard Holzmann stringsearch - string matching toeplitz - linear systems in Toeplitz or circulant form by Garbow toms - Collected Algorithms of the ACM typesetting - typesetting macros and preprocessors vanhuffel - total least squares, partial SVD by Van Hufell vfftpk - vectorized FFT; variant of fftpack voronoi - Voronoi diagrams and Delaunay triangulations y12m - sparse linear system (Aarhus) --------a bit more detail-------- The first few libraries here are widely regarded as being of high quality. The likelihood of your encountering a bug is relatively small; if you do, we certainly want to hear about it! mail ehg@research.att.com CORE Machine constants (i1mach,r1mach,d1mach), blas (level 1 and 2) EISPACK A collection of Fortran subroutines that compute the eigenvalues and eigenvectors of nine classes of matrices. The package can determine the eigensystems of complex general, complex Hermitian, real general, real symmetric, real symmetric band, real symmetric tridiagonal, special real tridiagonal, generalized real, and generalized real symmetric matrices. In addition, there are two routines which use the singular value decomposition to solve certain least squares problems. Developed by the NATS Project at Argonne National Laboratory. (d.p. refer to eispack, s.p. refer to seispack) FFTPACK A package of Fortran subprograms for the Fast Fourier Transform of periodic and other symmetric sequences This package consists of programs which perform Fast Fourier Transforms for both complex and real periodic sequences and certian other symmetric sequences. Developed by Paul Swarztrauber, at NCAR. VFFTPK a vectorized version of FFTPACK for multiple sequences. By Sweet, Lindgren, and Boisvert. FISHPACK A package of Fortran subprograms providing finite difference approximations for elliptic boundary value problems. Developed by Paul Swarztrauber and Roland Sweet. FNLIB Wayne Fullerton's special function library. (single and double) GO Golden Oldies: routines that have been widely used, but aren't available through the standard libraries. Nominations welcome! HARWELL Sparse matrix routine MA28 from the Harwell library. from Iain Duff LINPACK A collection of Fortran subroutines that analyze and solve linear equations and linear least squares problems. The package solves linear systems whose matrices are general, banded, symmetric indefinite, symmetric positive definite, triangular, and tridiagonal square. In addition, the package computes the QR and singular value decompositions of rectangular matrices and applies them to least squares problems. Developed by Jack Dongarra, Jim Bunch, Cleve Moler and Pete Stewart. (all precisions contained here) PPPACK Subroutines from: Carl de Boor, A Practical Guide to Splines, Springer Verlag. This is an old version, from around the time the book was published. We will install a newer version as soon as we can. TOMS Collected algorithms of the ACM. When requesting a specific item, please refer to the Algorithm number. ---------------- In contrast to the above libraries, the following are collections of codes from a variety of sources. Most are excellent, but you should exercise caution. We include research codes that we haven't tested and codes that may not be state-of-the-art but useful for comparisons. The following list is chronological, not by merit: MISC Contains various pieces of software collected over time and: the source code for the netlib processor itself; the paper describing netlib and its implementation; the abstracts list maintained by Richard Bartels. FMM Routines from the book Computer Methods for Mathematical Computations, by Forsythe, Malcolm, and Moler. Developed by George Forsythe, Mike Malcolm, and Cleve Moler. (d.p. refer to fmm, s.p. refer to sfmm) QUADPACK A package for numerical computation of definite univariate integrals. Developed by Piessens, Robert(Appl. Math. and Progr. Div.- K.U.Leuven) de Donker, Elise(Appl. Math. and Progr. Div.- K.U.Leuven Kahaner, David(National Bureau of Standards) (slatec version) TOEPLITZ A package of Fortran subprograms for the solution of systems of linear equations with coefficient matrices of Toeplitz or circulant form, and for orthogonal factorization of column- circulant matrices. Developed by Burt Garbow at Argonne National Laboratory, as a culmination of Soviet-American collaborative effort. (d.p. refer to toeplitz, s.p. refer to stoeplitz) ITPACK Iterative Linear System Solver based on a number of methods: Jacobi method, SOR, SSOR with conjugate gradient acceleration or with Chebyshev (semi-iteration - SI) acceleration. Developed by Young and Kincaid and the group at U of Texas. BIHAR Biharmonic solver in rectangular geometry and polar coordinates. These routines were obtained from Petter Bjorstad, Veritas Research, Oslo Norway in July 1984. LANCZOS procedures computing a few eigenvalues/eigenvectors of a large (sparse) symmetric matrix. Jane Cullum and Ralph Willoughby, IBM Yorktown. LASO A competing Lanczos package. David Scott. CONFORMAL contains routines to solve the "parameter problem" associated with the Schwarz-Christoffel mapping. Includes: SCPACK (polygons with straight sides) from Nick Trefethen. CAP (circular arc polygons) from Petter Bjorstad and Eric Grosse. FITPACK A package for splines under tension. (an early version) For a current copy and for other routines, contact: Pleasant Valley Software, 8603 Altus Cove, Austin TX 78759, USA BENCHMARK contains benchmark programs and the table of Linpack timings. MACHINES contains information on high performance computers that are or soon to be made available MINPACK A package of Fortran programs for the solution of systems of nonlinear equations and nonlinear least squares problems. Five algorithmic paths each include a core subroutine and an easy-to-use driver. The algorithms proceed either from an analytic specification of the Jacobian matrix or directly from the problem functions. The paths include facilities for systems of equations with a banded Jacobian matrix, for least squares problems with a large amount of data, and for checking the consistency of the Jacobian matrix with the functions. Developed by Jorge More', Burt Garbow, and Ken Hillstrom at Argonne National Laboratory. (d.p. refer to minpack, s.p. refer to sminpack) PORT The public subset of the PORT library. Includes the latest version of Gay's NL2SOL nonlinear least squares. The rest of the PORT3 library is available by license from AT&T. Y12M calculation of the solution of systems of linear systems of linear algebra equations whose matrices are large and sparse. authors: Zahari Zlatev, Jerzy Wasniewski and Kjeld Schaumburg PCHIP is a fortran package for piecewise cubic hermite inter- polation of data. It features software to produce a monotone and "visually pleasing" interpolant to monotone data. Fred N. Fritsch, Lawrence Livermore National Laboratory LP Linear Programming - At present, this consists of one subdirectory, data: a set of test problems in MPS format, maintained by David Gay. For more information, try a request of the form send index for lp/data ODE various initial and boundary value ordinary differential equation solvers: colsys, dverk, rkf45, ode A subset of these in single precision is in the library sode. ODEPACK The ODE package from Hindmarch and others. This is the double precision verison; to get sp refer to sodepack. Alan Hindmarch, Lawrence Livermore National Laboratory ELEFUNT is a collection of transportable Fortran programs for testing the elementary function programs provided with Fortran compilers. The programs are described in detail in the book "Software Manual for the Elementary Functions" by W. J. Cody and W. Waite, Prentice Hall, 1980. SPECFUN is an incomplete, but growing, collection of transportable Fortran programs for special functions, and of accompanying test programs similar in concept to those in ELEFUNT. W.J. Cody, Argonne National Laboratory PARANOIA is a rather large program, devised by Prof. Kahan of Berkeley, to explore the floating point system on your computer. SLATEC library DoE policy apparently prohibits us from distributing this. Contact the National Energy Software Center or your congressman. HOMPACK is a suite of FORTRAN 77 subroutines for solving nonlinear systems of equations by homotopy methods. There are subroutines for fixed point, zero finding, and general homotopy curve tracking problems, utilizing both dense and sparse Jacobian matrices, and implementing three different algorithms: ODE-based, normal flow, and augmented Jacobian. DOMINO is a set of C-language routines with a short assembly language interface that allows multiple tasks to communicate and schedules local tasks for execution. These tasks may be on a single processor or spread among multiple processors connected by a message-passing network. (O'Leary, Stewart, Van de Geijn, University of Maryland) GCV software for Generalized Cross Validation from: O'Sullivan, Woltring (univariate spline smoothing), Bates, Lindstrom, Wahba and Yandell (multivariate thin plate spline smoothing and ridge regression), Gu (multiple smoothing parameters), Fessler (vector smoothing spline) Cheney-Kincaid programs from: Ward Cheney & David Kincaid, Numerical Mathematics and Computing, 2nd ed., 1985. Kincaid-Cheney programs from: Ward Cheney & David Kincaid, Numerical Analysis: The Mathematics of Scientific Computing, 1990. POLYHEDRA a database of angles, vertex locations, and so on for over a hundred geometric solids, compiled by Andrew Hume. GRAPHICS presently just contains some C routines for testing ray-tracing A approximation algorithms loess: multivariate smoothing of scattered data; Cleveland+Grosse cdfcor: multivariate uniform rational fitting of scattered data; Kaufman+Taylor Apollo A set of programs collected from Apollo users. Alliant A set of programs collected from Alliant users. parmacs - parallel programmming macros for monitors and send/receive Rusty Lusk, Argonne National Laboratory, June 5, 1987 (lusk@anl-mcs.arpa) sched - The Schedule Package is an environment for the transportable implementation of parallel algorithms in a Fortran setting. Jack Dongarra and Dan Sorensen, Argonne National Laboratory, June 5, 1987 (dongarra@anl-mcs.arpa sorensen@anl-mcs.arpa) NAPACK A collection of Fortran subroutines to solve linear systems, to estimate the condition number or the norm of a matrix, to compute determinants, to multiply a matrix by a vector, to invert a matrix, to solve least squares problems, to perform unconstrained minimization, to compute eigenvalues, eigenvectors, the singular value decomposition, or the QR decomposition. The package has special routines for general, band, symmetric, indefinite, tridiagonal, upper Hessenberg, and circulant matrices. Code author: Bill Hager, Mathematics Department, University of Florida, Gainesville, FL 32611, e-mail: hager@math.ufl.edu. Related book: Applied Numerical Linear Algebra, Prentice-Hall, Englewood Cliffs, New Jersey, 1988. SPARSPAK Subroutines from the book "Computer Solution of Large Sparse Positive Definite Systems" by George and Liu, Prentice Hall 1981. VANHUFFEL The TLS problem assumes an overdetermined set of linear equations AX = B, where both the data matrix A as well as the observation matrix B are inaccurate. The subroutine PTLS solves the Total Least Squares (TLS) problem by using a Partial Singular Value Decomposition (PSVD), hereby improving considerably the computational efficiency with respect to the classi- cal TLS algorithm. Sabine VAN HUFFEL ESAT Laboratory, KU Leuven. Kardinaal Mercierlaan 94, 3030 Heverlee, Belgium DIERCKX A package of spline fitting routines for various kinds of data and geometries. Written by: Professor Paul Dierckx, Dept. Computer Science, K. U. Leuven, Celestijnenlaan 200A, B-3030 Heverlee, Belgium. VORONOI Algorithms for Voronoi regions and Delaunay triangulations. Currently contains Fortune's 2d sweepline method. SPARSE A library of subroutines written in C that solve large sparse systems of linear equations using LU factorization. The package is able to handle arbitrary real and complex square matrix equations. Besides being able to solve linear systems, it is solves transposed systems, find determinants, multiplies a vector by a matrix, and estimate errors due to ill-conditioning in the system of equations and instability in the computations. Sparse does not require or assume symmetry and is able to perform numerical pivoting (either diagonal or complete) to avoid unnecessary error in the solution. Sparse also has an optional interface that allow it to be called from FORTRAN programs. Ken Kundert, Alberto Sangiovanni-Vincentelli. (sparse@ic.berkeley.edu) SLAP This is the official release version 2.0 of the Sparse Linear Algebra Package: a SLAP for the Masses! It contains "core" routines for the iterative solution symmetric and non-symmetric positive definite and positive semi-definite linear systems. Included in this package are core routines to do Iterative Refinement iteration, Preconditioned Conjugate Gradient iteration, Preconditioned Conjugate Gradient iteration on the Normal Equations, Preconditioned BiConjugate Gradient iteration, Preconditioned BiConjugate Gradient Squared iteration, Orthomin iteration and Generalized Minimum Residual iteration. Core routines require the user to supply "MATVEC" (Matrix Vector Multiply) and "MSOLVE" (Preconditiong) routines. This allows the core routines to be written in a way that makes them independent of the matrix data structure. For each core routine there are several drivers and support routines that allow the user to utilize Diagonal Scaling and Incomplete Cholesky/Incomplete LU factorization as preconditioners with no coding. The price for this convience is that one must use the a specific matrix data structure: SLAP Column or SLAP Triad format. Written by Mark K. Seager & Anne Greenbaum sequent software from the Sequent Users Group. Jack Dongarra 9/88 UNCON/DATA test problems: unconstrained optimization, nonlinear least squares. Problems from More, Garbow, and Hillstrom; Fraley, matrix square root; Hanson, Salane; McKeown; De Villiers and Glasser; Dennis, Gay, and Vu. Collected by Chris Fraley. JAKEF is a precompiler that analyses a given Fortran77 source code for the evaluation of a scalar or vector function and then generates an expanded Fortran subroutine that simultaneously evaluates the gradient or Jacobian respectively. For scalar functions the ratio between the run-time of the resulting gradient routine and that of the original evaluation routine is never greater than a fixed bound of about five. The storage requirement may be considerable as it is also proportional to the run-time of the original routine. Since no differencing is done the partial derivative values obtained are exact up to round-off errors. A. Griewank, Argonne National Laboratory, griewank@mcs.anl.gov, 12/1/88. sparse-blas an extension to the set of Basic Linear Algebra Subprograms. The extension is targeted at sparse vector operations, with the goal of providing efficient, but portable, implementations of algorithms for high performance computers. convex!dodson@anl-mcs.ARPA Mon Aug 31 19:53:21 1987 (Dave Dodson) matlab - software from the MATLAB Users Group. Christian Bischof bischof@mcs.anl.gov 12/89 picl - is a subroutine library that implements a generic message-passing interface for a variety of multiprocessors. It also provides timestamped trace data, if requested. authors: Geist, Heath, Peyton, and Worley, Oak Ridge National Lab. worley@msr.epm.ornl.gov 4/17/90. MADPACK is a a compact package for solving systems of linear equations using multigrid or aggregation-disaggregation methods. Imbedded in the algorithms are implementations for sparse Gaussian elimination and symmetric Gauss-Seidel (unaccelerated or accelerated by conjugate gradients or Orthomin(1)). This package is particularly useful for solving problems which arise from discretizing partial differential equations, regardless of whether finite differences, finite elements, or finite volumes are used. It was written by Craig Douglas. installed 2/90 FORTRAN contains tools specific to Fortran. At present, it contains a single-double precision converter. ParaGraph - a graphical display system for visualizing the behavior of parallel algorithms on message-passing multiprocessor architectures. Authors: Jennifer Etheridge and Michael Heath, Oak Ridge National Lab. mth@ornl.gov, 4/19/90. GMAT - Mark Seager (LLNL Oct 8, 1987) multi-processing Time Line and State Graph tools. TYPESETTING troff and LaTeX macros, mostly written at Bell Labs. Also, AMS-TeX macros by Arnold, Lucier, and SIAM. C++ miscellaneous codes in the C++ language. At present this includes Hansen's C++ Answer Book. OPT miscellaneous optimization software. Contains Brent's praxis. BIB bibliographies: Golub and Van Loan, 2nd ed. RESEARCH miscellaneous software from Computing Science Research at AT&T Bell Laboratories in Murray Hill, NJ AMPL/MODELS example model and data files for linear and nonlinear programming. available only from netlib@research.att.com PASCAL At present, codes from J.C. Nash, Compact Numerical Methods for Computers: Linear Algebra and Function Minimisation, Second Edition Adam Hilger: Bristol & American Institute of Physics: New York, 1990 LANZ Large Sparse Symmetric Generalized Eigenproblem Mark T. Jones, Argonne National Laboratory Merrell L. Patrick, Duke University and NSF SPIN simulation and automated validation of communication protocols. from the book ``Design and Validation of Computer Protocols,'' by Gerard J. Holzmann CONTIN methods for continuation and limit points, notably version 6.1 of PITCON, written by Werner Rheinboldt and John Burkardt, University of Pittsburgh. FP floating point arithmetic STRINGSEARCH This is a library of code, test data and harnesses for various kinds of string matching. The first set are single string routines based on Boyer-Moore and described in detail in "Fast String Searching", Hume and Sunday, Software-Practice and Experience, to appear.