Page 20 - Compact Numerical Methods For Computers
P. 20
10 Compact numerical methods for computers
of all the programs published in the Communications of the ACM (up to 1975) and
the ACM Transactions on Mathematical Software (since 1975). Other important
collections are EISPACK, UNPACK, FUNPACK and MINPACK, which concern algebraic
eigenproblems, linear equations, special functions and nonlinear least squares mini-
misation problems. These and other packages are, at time of writing, available from
the Mathematics and Computer Sciences Division of the Argonne National Labora-
tory of the US Department of Energy. For those users fortunate enough to have
access to academic and governmental electronic mail networks, an index of software
available can be obtained by sending the message
SEND INDEX
to the pseudo-user NETLIB at node ANL-MCS on the ARPA network (Dongarra and
Grosse 1987). The software itself may be obtained by a similar mechanism.
Suppliers such as the Numerical Algorithms Group (NAG), International Math-
ematical and Statistical Libraries (IMSL), C Abaci, and others, have packages
designed for users of various computers and compilers, but provide linkable object
code rather than the FORTRAN source. C Abaci, in particular, allows users of the
Scientific Desk to also operate the software within what is termed a ‘problem solving
environment’ which avoids the need for programming.
For languages other than FORTRAN, less software is available. Several collections of
programs and procedures have been published as books, some with accompanying
diskettes, but once again, the background and true authorship may be lacking. The
number of truly awful examples of badly chosen, badly coded algorithms is alarming,
and my own list of these too long to include here.
Several sources I consider worth looking at are the following.
Maindonald (1984)
—A fairly comprehensive collection of programs in BASIC (for a Digital Equip-
ment Corporation VAX computer) are presented covering linear estimation,
statistical distributions and pseudo-random numbers.
Nash and Walker-Smith (1987)
—Source codes in BASIC are given for six nonlinear minimisation methods and a
large selection of examples. The algorithms correspond, by and large, to those
presented later in this book.
LEQBO5 (Nash 1984b, 1985)
—This single ‘program’ module (actually there are three starting points for
execution) was conceived as a joke to show how small a linear algebra package
could be made. In just over 300 lines of BASIC is the capability to solve linear
equations, linear least squares, matrix inverse and generalised inverse, sym-
metric matrix eigenproblem and nonlinear least squares problems. The joke
back-fired in that the capability of this program, which ran on the Sinclair ZX81
computer among other machines, is quite respectable.
Kahaner, Moler and Nash (1989)
—This numerical analysis textbook includes FORTRAN codes which illustrate the
material presented. The authors have taken pains to choose this software for