Algorithms and Software
C.6 Algorithms and Software
Some principal questions concerning the production of software for mathematical compu- tation are discussed by Rice [3, 4].
Starting in the 1960s much general purpose software, often collected in large libraries or packages, has been developed. There are two large suppliers of commercial scientific subroutine libraries. Numerical Algorithms Group (NAG), based in England, started in 1970 as an interuniversity collaboration; see www.nag.co.uk . IMSL, now part of Visual Numerics ( www.vni.com ) was founded about the same time in the USA. Both companies offer a wide range of software in Fortran and C.
MATLAB, developed by The Mathworks ( www.mathworks.com ), is a widespread interactive system for matrix computations. It offers many “toolboxes” for specific applica- tion areas, e.g., control problems. Maple, developed by Maplesoft ( www.maplesoft.com ), offers symbolic computation. It is available as a MATLAB toolbox, which makes it possible to combine numerical and symbolic computations.
Mathematica, developed by Wolfram Research ( www.wolfram.com ), also integrates numerical and symbolical computing. It can handle symbolical calculations that involve hundreds of thousands of terms. Wolfram Research also sponsors the free resource Math- World ( www.mathworld.com ), an encyclopedia of mathematics on the Web. COMSOL ( www.comsol.com ), started by students of the first author, has developed a unique modular software package for multiphysics simulation.
The book Numerical Recipes in Fortran 77, by Press et al. (see Sec. C.2) exists in several other versions with programs in Fortran 90, Pascal, C++, and C. The programs printed in the book are, however, for reading purposes only, and the copyrighted software is sold separately and can be downloaded from an online store. The book [2] is a complement to the original Fortran 77 book. It contains reworked versions of all the original codes adapted to the parallel computing facilities in Fortran 90.
Many programs and packages are available in the public domain and can be down- loaded for free. A prime example is LAPACK, which superseded LINPACK and EISPACK in the mid-1990s, and contains programs for solving linear systems and eigenvalue problems. Other packages, such as DASSL, are available for solving ordinary systems of differential equations.
C-10 Online Appendix C. Guide to Literature The National Institute of Standards and Technology (NIST) Guide toAvailable Mathe-
matical Software (GAMS) is available at gams.nist.gov . GAMS is an online cross-index of mathematical and statistical software providing abstracts, documentation, and source codes of software modules, and it provides access to multiple repositories operated by oth- ers. Currently four repositories are indexed, three within NIST and one on Netlib. Both public domain and proprietary software are indexed although source codes of proprietary software are not redistributed by GAMS.
Netlib is a repository of public domain mathematical software, data, address lists, and other useful items for the scientific computing community. Access Netlib is via www.netlib.org . Background about Netlib is given in [1].
A top-level index which describes the chapters of Netlib, each of which has an indi- vidual index, file is available. Note that many of these codes are designed for use by profes- sional 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!
[1] Jack. J. Dongarra and Eric Grosse. Distribution of mathematical software via elec- tronic mail. Comm. ACM, 30:403–407, 1987. (Cited on p. C-10.)
[2] William H. Press, Brian P. Flannery, Saul A. Teukolsky, and William T. Vetterling. Nu- merical Recipes in Fortran
90: The Art of Parallel Scientific Computing. Cambridge University Press, Cambridge, UK, 1996. (Cited on p. C-9.)
[3] John R. Rice, editor. Mathematical Software. Academic Press, New York, 1971. (Cited on p. C-9.)
[4] John R. Rice. Numerical Methods, Software, and Analysis. Academic Press, Boston- New York, second edition, 1993. (Cited on p. C-9.)
Parts
» Numerical Methods in Scientific Computing
» Solving Linear Systems by LU Factorization
» Sparse Matrices and Iterative Methods
» Software for Matrix Computations
» Characterization of Least Squares Solutions
» The Singular Value Decomposition
» The Numerical Rank of a Matrix
» Second Order Accurate Methods
» Adaptive Choice of Step Size
» Origin of Monte Carlo Methods
» Generating and Testing Pseudorandom Numbers
» Random Deviates for Other Distributions
» Absolute and Relative Errors
» Fixed- and Floating-Point Representation
» IEEE Floating-Point Standard
» Multiple Precision Arithmetic
» Basic Rounding Error Results
» Statistical Models for Rounding Errors
» Avoiding Overflowand Cancellation
» Numerical Problems, Methods, and Algorithms
» Propagation of Errors and Condition Numbers
» Perturbation Analysis for Linear Systems
» Error Analysis and Stability of Algorithms
» Interval Matrix Computations
» Taylor’s Formula and Power Series
» Divergent or Semiconvergent Series
» Properties of Difference Operators
» Approximation Formulas by Operator Methods
» Single Linear Difference Equations
» Comparison Series and Aitken Acceleration
» Complete Monotonicity and Related Concepts
» Repeated Richardson Extrapolation
» Algebraic Continued Fractions
» Analytic Continued Fractions
» Bases for Polynomial Interpolation
» Conditioning of Polynomial Interpolation
» Newton’s Interpolation Formula
» Barycentric Lagrange Interpolation
» Iterative Linear Interpolation
» Fast Algorithms for Vandermonde Systems
» Complex Analysis in Polynomial Interpolation
» Multidimensional Interpolation
» Analysis of a Generalized Runge Phenomenon
» Bernštein Polynomials and Bézier Curves
» Least Squares Splines Approximation
» Operator Norms and the Distance Formula
» Inner Product Spaces and Orthogonal Systems
» Solution of the Approximation Problem
» Mathematical Properties of Orthogonal Polynomials
» Expansions in Orthogonal Polynomials
» Approximation in the Maximum Norm
» Convergence Acceleration of Fourier Series
» The Fourier Integral Theorem
» Fast Trigonometric Transforms
» Superconvergence of the Trapezoidal Rule
» Higher-Order Newton–Cotes’ Formulas
» Fejér and Clenshaw–Curtis Rules
» Method of Undetermined Coefficients
» Gauss–Christoffel Quadrature Rules
» Gauss Quadrature with Preassigned Nodes
» Matrices, Moments, and Gauss Quadrature
» Jacobi Matrices and Gauss Quadrature
» Multidimensional Integration
» Limiting Accuracy and Termination Criteria
» Convergence Order and Efficiency
» Higher-Order Interpolation Methods
» Newton’s Method for Complex Roots
» Unimodal Functions and Golden Section Search
» Minimization by Interpolation
» Ill-Conditioned Algebraic Equations
» Deflation and Simultaneous Determination of Roots
» Finding Greatest Common Divisors
» Permutations and Determinants
» Eigenvalues and Norms of Matrices
» Function and Vector Algorithms
» Textbooks in Numerical Analysis
» Encyclopedias, Tables, and Formulas
Show more