Hello fellow biomechanicers:

I recently ran across information about getting public domain programs

(primarily mathematical and scientific applications) from the Internet

network. Most of you may already know about these, but I didn't (and wish I

had known of it earlier). So I thought it might be worthwhile to post the

information to the BIOMCH-L readers.

The following is a copy of the output obtained from issuing a SEND INDEX

request to netlib@ornl.gov

I hope some of you find this useful.

--Rich RTH@BMEN.TULANE.EDU

Richard T. Hart

Department of Biomedical Engineering

Tulane University

New Orleans, LA

************************************************** ******************

===== general NETLIB index =====

Welcome to netlib, a system for distribution of mathematical software

by electronic mail. This index is the reply you'll get to:

mail netlib@ornl.gov

send index.

To examine the full index for any library send a request of the form:

send index from eispack.

To search for all software with certain keywords:

find cubic spline.

To search for somebody in Gene Golub's address list:

Who is Joan Doe?

displays entries containing "Joan" and "Doe". (no spelling correction!)

You may include several requests in a single piece of mail, but put

each on a separate line.

Here are some additional forms a request may take...

send dgeco from linpack

(Retrieves routine DGECO and all routines it calls from the LINPACK library.)

send only dgeco from linpack

(Retrieves just DGECO and not subsidiary routines.)

send dgeco but not dgefa from linpack

(Retrieves DGECO and subsidiaries, but excludes DGEFA and subsidiaries.)

send list of dgeco from linpack

(Retrieves just the file names rather than the contents;

this can be helpful when one already has an entire library and just

wants to know what pieces are needed in a particular application.)

Send the requests to "netlib@ornl.gov" even though replies appear to be

coming from "netlibd@ornl.gov". You'll be talking to a program, so don't

expect it to understand much English. If your Unix system doesn't talk

directly to research (AT&T Bell Labs in Murray Hill, New Jersey), you might

try forwarding through ihnp4 (Bell Labs in Chicago) or mcvax (Math Centrum

in Amsterdam). Someone will be paying for long distance phone calls, so be

reasonable! Those with access to the arpanet can use netlib@ornl.gov (at

Oak Ridge National Labs). For an introduction to the mysteries of networks

and address syntax, see J. Quarterman and J. Hoskins, Comm. ACM (Oct 1986)

29,932-971. For background about netlib, see Jack J. Dongarra and Eric

Grosse, Distribution of Mathematical Software Via Electronic Mail, Comm.

ACM (1987) 30,403--407.

The default precision is double; to get single, prefix the library name

with "s". However, if the library only comes in one precision, that's what

you will be sent. To save space we remove sequence numbers and maintain a

central set of machine dependent constants. Otherwise the codes, which are

almost all in Fortran, are as received from the authors. Bugs found in

core libraries like eispack will receive prompt attention; in general, we

will forward comments (and annual lists of recipients) to the code authors.

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!

-------quick summary of contents---------

a - approximation algorithms (almost empty, but soon to grow)

alliant - set of programs collected from Alliant users

apollo - set of programs collected from Apollo users

benchmark - various benchmark programs and a summary of timings

bihar - Bjorstad's biharmonic solver

bmp - Brent's multiple precision package

cheney-kincaid - programs from the text Numerical Mathematics and Computing.

conformal - Schwarz-Christoffel codes by Trefethen; Bjorstad+Grosse

core - machine constants, blas

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

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

gcv - Generalized Cross Validation

go - "golden oldies" gaussq, zeroin, lowess, ...

graphics - ray-tracing

harwell - MA28 sparse linear system

hompack - nonlinear equations by homotopy method

itpack - iterative linear system solution by Young and Kincaid

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

ode - ordinary differential equations

odepack - ordinary differential equations from Hindmarsh

paranoia - Kahan's floating point test

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

siam - typesetting macros for SIAM journal format

slatec - machine constants and error handling package from the Slatec library

sparse - a set of c codes for sparse systems of equations

sparspak - George + Liu, sparse linear algebra core

specfun - transportable special functions

toeplitz - linear systems in Toeplitz or circulant form by Garbow

toms - Collected Algorithms of the ACM

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!

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.

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 solvers for symmetric and nonsymmetric

sparse problems. Includes ITPACK 2C (single and double

precision), ITPACKV 2C (vectorized version of ITPACK 2C),

and NSPCG. 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:

Alan Kaylor Cline, 8603 Altus Cove, Austin, Texas 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: Woltring,

(univariate spline smoothing ); Bates, Lindstrom, Wahba and Yandell

(multivariate thin plate spline smoothing and ridge regression).

Cheney-Kincaid programs from: Ward Cheney & David Kincaid, Numerical

Mathematics and Computing.

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 (almost empty, but soon to grow)

lowess: multivariate smoothing of scattered data; Cleveland+Devlin+Grosse

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@mcs.anl.gov)

sched - The Schedule Package is an environment for the transportable

implementation of parallel algorithms in a Fortran setting.

Jack Dongarra and Dan Sorensen, Univ of Tenn. and Rice Univ.,

June 5, 1987 (dongarra@cs.utk.edu sorensen@rice.edu)

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, Penn State

University, University Park, PA 16802, e-mail: hager@psuvax1.bitnet

or hager@psuvax1.psu.edu. Related book: Applied Numerical Linear

Algebra, Prentice-Hall, Englewood Cliffs, New Jersey.

Book scheduled to appear in December, 1987.

SPARSPAK Subroutines from the book "Computer Solution of Large Sparse

Positive Definite Systems" by George and Liu, Prentice Hall 1981.

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

problem-set: This set of directories is a collection of problems for

automated theorem provers. It is partioned by subject.

Larry Wos, Argonne National Laboratory

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.

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)

voronoi - compute Voronoi diagram or Delaunay triangulation.

From research!sjf Thu May 5 14:09:33 EDT 1988

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 2/1/90.

parallel - a directory containing information on parallel processing and

high-performance computing.

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.

I recently ran across information about getting public domain programs

(primarily mathematical and scientific applications) from the Internet

network. Most of you may already know about these, but I didn't (and wish I

had known of it earlier). So I thought it might be worthwhile to post the

information to the BIOMCH-L readers.

The following is a copy of the output obtained from issuing a SEND INDEX

request to netlib@ornl.gov

I hope some of you find this useful.

--Rich RTH@BMEN.TULANE.EDU

Richard T. Hart

Department of Biomedical Engineering

Tulane University

New Orleans, LA

************************************************** ******************

===== general NETLIB index =====

Welcome to netlib, a system for distribution of mathematical software

by electronic mail. This index is the reply you'll get to:

mail netlib@ornl.gov

send index.

To examine the full index for any library send a request of the form:

send index from eispack.

To search for all software with certain keywords:

find cubic spline.

To search for somebody in Gene Golub's address list:

Who is Joan Doe?

displays entries containing "Joan" and "Doe". (no spelling correction!)

You may include several requests in a single piece of mail, but put

each on a separate line.

Here are some additional forms a request may take...

send dgeco from linpack

(Retrieves routine DGECO and all routines it calls from the LINPACK library.)

send only dgeco from linpack

(Retrieves just DGECO and not subsidiary routines.)

send dgeco but not dgefa from linpack

(Retrieves DGECO and subsidiaries, but excludes DGEFA and subsidiaries.)

send list of dgeco from linpack

(Retrieves just the file names rather than the contents;

this can be helpful when one already has an entire library and just

wants to know what pieces are needed in a particular application.)

Send the requests to "netlib@ornl.gov" even though replies appear to be

coming from "netlibd@ornl.gov". You'll be talking to a program, so don't

expect it to understand much English. If your Unix system doesn't talk

directly to research (AT&T Bell Labs in Murray Hill, New Jersey), you might

try forwarding through ihnp4 (Bell Labs in Chicago) or mcvax (Math Centrum

in Amsterdam). Someone will be paying for long distance phone calls, so be

reasonable! Those with access to the arpanet can use netlib@ornl.gov (at

Oak Ridge National Labs). For an introduction to the mysteries of networks

and address syntax, see J. Quarterman and J. Hoskins, Comm. ACM (Oct 1986)

29,932-971. For background about netlib, see Jack J. Dongarra and Eric

Grosse, Distribution of Mathematical Software Via Electronic Mail, Comm.

ACM (1987) 30,403--407.

The default precision is double; to get single, prefix the library name

with "s". However, if the library only comes in one precision, that's what

you will be sent. To save space we remove sequence numbers and maintain a

central set of machine dependent constants. Otherwise the codes, which are

almost all in Fortran, are as received from the authors. Bugs found in

core libraries like eispack will receive prompt attention; in general, we

will forward comments (and annual lists of recipients) to the code authors.

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!

-------quick summary of contents---------

a - approximation algorithms (almost empty, but soon to grow)

alliant - set of programs collected from Alliant users

apollo - set of programs collected from Apollo users

benchmark - various benchmark programs and a summary of timings

bihar - Bjorstad's biharmonic solver

bmp - Brent's multiple precision package

cheney-kincaid - programs from the text Numerical Mathematics and Computing.

conformal - Schwarz-Christoffel codes by Trefethen; Bjorstad+Grosse

core - machine constants, blas

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

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

gcv - Generalized Cross Validation

go - "golden oldies" gaussq, zeroin, lowess, ...

graphics - ray-tracing

harwell - MA28 sparse linear system

hompack - nonlinear equations by homotopy method

itpack - iterative linear system solution by Young and Kincaid

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

ode - ordinary differential equations

odepack - ordinary differential equations from Hindmarsh

paranoia - Kahan's floating point test

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

siam - typesetting macros for SIAM journal format

slatec - machine constants and error handling package from the Slatec library

sparse - a set of c codes for sparse systems of equations

sparspak - George + Liu, sparse linear algebra core

specfun - transportable special functions

toeplitz - linear systems in Toeplitz or circulant form by Garbow

toms - Collected Algorithms of the ACM

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!

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.

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 solvers for symmetric and nonsymmetric

sparse problems. Includes ITPACK 2C (single and double

precision), ITPACKV 2C (vectorized version of ITPACK 2C),

and NSPCG. 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:

Alan Kaylor Cline, 8603 Altus Cove, Austin, Texas 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: Woltring,

(univariate spline smoothing ); Bates, Lindstrom, Wahba and Yandell

(multivariate thin plate spline smoothing and ridge regression).

Cheney-Kincaid programs from: Ward Cheney & David Kincaid, Numerical

Mathematics and Computing.

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 (almost empty, but soon to grow)

lowess: multivariate smoothing of scattered data; Cleveland+Devlin+Grosse

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@mcs.anl.gov)

sched - The Schedule Package is an environment for the transportable

implementation of parallel algorithms in a Fortran setting.

Jack Dongarra and Dan Sorensen, Univ of Tenn. and Rice Univ.,

June 5, 1987 (dongarra@cs.utk.edu sorensen@rice.edu)

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, Penn State

University, University Park, PA 16802, e-mail: hager@psuvax1.bitnet

or hager@psuvax1.psu.edu. Related book: Applied Numerical Linear

Algebra, Prentice-Hall, Englewood Cliffs, New Jersey.

Book scheduled to appear in December, 1987.

SPARSPAK Subroutines from the book "Computer Solution of Large Sparse

Positive Definite Systems" by George and Liu, Prentice Hall 1981.

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

problem-set: This set of directories is a collection of problems for

automated theorem provers. It is partioned by subject.

Larry Wos, Argonne National Laboratory

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.

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)

voronoi - compute Voronoi diagram or Delaunay triangulation.

From research!sjf Thu May 5 14:09:33 EDT 1988

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 2/1/90.

parallel - a directory containing information on parallel processing and

high-performance computing.

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.