Page 21 - Compact Numerical Methods For Computers
P. 21
A starting point 11
quality. The user must, however, learn how to invoke the programs, as there is
no user interface to assist in problem specification and input.
Press et al (1986) Numerical Recipes
—This is an ambitious collection of methods with wide capability. Codes are
offered in FORTRAN, Pascal, and C. However, it appears to have been only
superficially tested and the examples presented are quite simple. It has been
heavily advertised.
Many other products exist and more are appearing every month. Finding out
about them requires effort, the waste of which can sometimes be avoided by using
modern online search tools. Sadly, more effort is required to determine the quality of
the software, often after money has been spent.
Finally on sources of software, readers should be aware of the Association for
Computing Machinery (ACM) Transactions on Mathematical Software which pub-
lishes research papers and reports algorithms. The algorithms themselves are avail-
able after a delay of approximately 1 year on NETLIB and are published in full in the
Collected Algorithms of the ACM. Unfortunately, many are now quite large pro-
grams, and the Transactions on Mathematical Software (TOMS) usually only
publishes a summary of the codes, which is insufficient to produce a working
program. Moreover, the programs are generally in FORTRAN.
Other journals which publish algorithms in some form or other are Applied
Statistics (Journal of the Royal Statistical Society, Part C), the Society for Industrial
and Applied Mathematics (SIAM) journals on Numerical Analysis and on Scientific
and Statistical Computing, the Computer Journal (of the British Computer Society),
as well as some of the specialist journals in computational statistics, physics,
chemistry and engineering. Occasionally magazines, such as Byte or PC Magazine,
include articles with interesting programs for scientific or mathematical problems.
These may be of very variable quality depending on the authorship, but some
exceptionally good material has appeared in magazines, which sometimes offer the
codes in machine-readable form, such as the Byte Information Exchange (BIX) and
disk ordering service. The reader has, however, to be assiduous in verifying the
quality of the programs.
1.4. PROGRAMMING LANGUAGES USED AND STRUCTURED
PROGRAMMING
The algorithms presented in this book are designed to be coded quickly and easily for
operation on a diverse collection of possible target machines in a variety of
programming languages. Originally, in preparing the first edition of the book, I
considered presenting programs in BASIC, but found at the time that the various
dialects of this language were not uniform in syntax. Since then, International
Standard Minimal BASIC (IS0 6373/ 1984) has been published, and most commonly
available BASICS will run Minimal BASIC without difficulty. The obstacle for the user is
that Minimal BASIC is too limited for most serious computing tasks, in that it lacks
string and file handling capabilities. Nevertheless, it is capable of demonstrating all
the algorithms in this book.