Front Cover
Title Page
Copyright
Contents
1 Introduction
1.1 Preliminary Remarks
Significant Digits of Precision: Examples
Errors: Absolute and Relative
Accuracy and Precision
Rounding and Chopping
Nested Multiplication
Pairs of Easy/Hard Problems
First Programming Experiment
Mathematical Software
Summary
Additional References
Problems 1.1
Computer Problems 1.1
1.2 Review of Taylor Series
Taylor Series
Complete Horner’s Algorithm
Taylor’s Theorem in Terms of (x – c)
Mean-Value Theorem
Taylor’s Theorem in Terms of h
Alternating Series
Summary
Additional References
Problems 1.2
Computer Problems 1.2
2 Floating-Point Representation and Errors
2.1 Floating-Point Representation
Normalized Floating-Point Representation
Floating-Point Representation
Single-Precision Floating-Point Form
Double-Precision Floating-Point Form
Computer Errors in Representing Numbers
Notation fl(x) and Backward Error Analysis
Historical Notes
Summary
Problems 2.1
Computer Problems 2.1
2.2 Loss of Significance
Significant Digits
Computer-Caused Loss of Significance
Theorem on Loss of Precision
Avoiding Loss of Significance in Subtraction
Range Reduction
Summary
Additional References
Problems 2.2
Computer Problems 2.2
3 Locating Roots of Equations
3.1 Bisection Method
Introduction
Bisection Algorithm and Pseudocode
Examples
Convergence Analysis
False Position (Regula Falsi) Method and Modifications
Summary
Problems 3.1
Computer Problems 3.1
3.2 Newton’s Method
Interpretations of Newton’s Method
Pseudocode
Illustration
Convergence Analysis
Systems of Nonlinear Equations
Fractal Basins of Attraction
Summary
Additional References
Problems 3.2
Computer Problems 3.2
3.3 Secant Method
Secant Algorithm
Convergence Analysis
Comparison of Methods
Hybrid Schemes
Fixed-Point Iteration
Summary
Additional References
Problems 3.3
Computer Problems 3.3
4 Interpolation and Numerical Differentiation
4.1 Polynomial Interpolation
Preliminary Remarks
Polynomial Interpolation
Interpolating Polynomial: Lagrange Form
Existence of Interpolating Polynomial
Interpolating Polynomial: Newton Form
Nested Form
Calculating Coefficients a[sub(i)] Using Divided Differences
Algorithms and Pseudocode
Vandermonde Matrix
Inverse Interpolation
Polynomial Interpolation by Neville’s Algorithm
Interpolation of Bivariate Functions
Summary
Problems 4.1
Computer Problems 4.1
4.2 Errors in Polynomial Interpolation
Dirichlet Function
Runge Function
Theorems on Interpolation Errors
Summary
Problems 4.2
Computer Problems 4.2
4.3 Estimating Derivatives and Richardson Extrapolation
First-Derivative Formulas via Taylor Series
Richardson Extrapolation
First-Derivative Formulas via Interpolation Polynomials
Second-Derivative Formulas via Taylor Series
Noise in Computation
Summary
Additional References for Chapter 4
Problems 4.3
Computer Problems 4.3
5 Numerical Integration
5.1 Lower and Upper Sums
Definite and Indefinite Integrals
Lower and Upper Sums
Riemann-Integrable Functions
Examples and Pseudocode
Summary
Problems 5.1
Computer Problems 5.1
5.2 Trapezoid Rule
Uniform Spacing
Error Analysis
Applying the Error Formula
Recursive Trapezoid Formula for Equal Subintervals
Multidimensional Integration
Summary
Problems 5.2
Computer Problems 5.2
5.3 Romberg Algorithm
Description
Pseudocode
Euler-Maclaurin Formula
General Extrapolation
Summary
Additional References
Problems 5.3
Computer Problems 5.3
6 Additional Topics on Numerical Integration
6.1 Simpson’s Rule and Adaptive Simpson’s Rule
Basic Simpson’s Rule
Simpson’s Rule
Composite Simpson’s Rule
An Adaptive Simpson’s Scheme
Example Using Adaptive Simpson Procedure
Newton-Cotes Rules
Summary
Problems 6.1
Computer Problems 6.1
6.2 Gaussian Quadrature Formulas
Description
Change of Intervals
Gaussian Nodes and Weights
Legendre Polynomials
Integrals with Singularities
Summary
Additional References
Problems 6.2
Computer Problems 6.2
7 Systems of Linear Equations
7.1 Naive Gaussian Elimination
A Larger Numerical Example
Algorithm
Pseudocode
Testing the Pseudocode
Residual and Error Vectors
Summary
Problems 7.1
Computer Problems 7.1
7.2 Gaussian Elimination with Scaled Partial Pivoting
Naive Gaussian Elimination Can Fail
Partial Pivoting and Complete Partial Pivoting
Gaussian Elimination with Scaled Partial Pivoting
A Larger Numerical Example
Pseudocode
Long Operation Count
Numerical Stability
Scaling
Summary
Problems 7.2
Computer Problems 7.2
7.3 Tridiagonal and Banded Systems
Tridiagonal Systems
Strictly Diagonal Dominance
Pentadiagonal Systems
Block Pentadiagonal Systems
Summary
Additional References
Problems 7.3
Computer Problems 7.3
8 Additional Topics Concerning Systems of Linear Equations
8.1 Matrix Factorizations
Numerical Example
Formal Derivation
Pseudocode
Solving Linear Systems Using LU Factorization
LDL[sup(T)] Factorization
Cholesky Factorization
Multiple Right-Hand Sides
Computing A[sup(–1)]
Example Using Software Packages
Summary
Problems 8.1
Computer Problems 8.1
8.2 Iterative Solutions of Linear Systems
Vector and Matrix Norms
Condition Number and Ill-Conditioning
Basic Iterative Methods
Pseudocode
Convergence Theorems
Matrix Formulation
Another View of Overrelaxation
Conjugate Gradient Method
Summary
Problems 8.2
Computer Problems 8.2
8.3 Eigenvalues and Eigenvectors
Calculating Eigenvalues and Eigenvectors
Mathematical Software
Properties of Eigenvalues
Gershgorin’s Theorem
Singular Value Decomposition
Numerical Examples of Singular Value Decomposition
Application: Linear Differential Equations
Application: A Vibration Problem
Summary
Problems 8.3
Computer Problems 8.3
8.4 Power Method
Power Method Algorithms
Aitken Acceleration
Inverse Power Method
Software Examples: Inverse Power Method
Shifted (Inverse) Power Method
Example: Shifted Inverse Power Method
Summary
Additional References
Problems 8.4
Computer Problems 8.4
9 Approximation by Spline Functions
9.1 First-Degree and Second-Degree Splines
First-Degree Spline
Modulus of Continuity
Second-Degree Splines
Interpolating Quadratic Spline Q(x)
Subbotin Quadratic Spline
Summary
Problems 9.1
Computer Problems 9.1
9.2 Natural Cubic Splines
Introduction
Natural Cubic Spline
Algorithm for Natural Cubic Spline
Pseudocode for Natural Cubic Splines
Using Pseudocode for Interpolating and Curve Fitting
Space Curves
Smoothness Property
Summary
Problems 9.2
Computer Problems 9.2
9.3 B Splines: Interpolation and Approximation
Interpolation and Approximation by B Splines
Pseudocode and a Curve-Fitting Example
Schoenberg’s Process
Pseudocode
Bézier Curves
Summary
Additional References
Problems 9.3
Computer Problems 9.3
10 Ordinary Differential Equations
10.1 Taylor Series Methods
Initial-Value Problem: Analytical versus Numerical Solution
An Example of a Practical Problem
Solving Differential Equations and Integration
Vector Fields
Taylor Series Methods
Euler’s Method Pseudocode
Taylor Series Method of Higher Order
Types of Errors
Taylor Series Method Using Symbolic Computations
Summary
Problems 10.1
Computer Problems 10.1
10.2 Runge-Kutta Methods
Taylor Series for f (x, y)
Runge-Kutta Method of Order 2
Runge-Kutta Method of Order 4
Pseudocode
Summary
Problems 10.2
Computer Problems 10.2
10.3 Stability and Adaptive Runge-Kutta and Multistep Methods
An Adaptive Runge-Kutta-Fehlberg Method
An Industrial Example
Adams-Bashforth-Moulton Formulas
Stability Analysis
Summary
Additional References
Problems 10.3
Computer Problems 10.3
11 Systems of Ordinary Differential Equations
11.1 Methods for First-Order Systems
Uncoupled and Coupled Systems
Taylor Series Method
Vector Notation
Systems of ODEs
Taylor Series Method: Vector Notation
Runge-Kutta Method
Autonomous ODE
Summary
Problems 11.1
Computer Problems 11.1
11.2 Higher-Order Equations and Systems
Higher-Order Differential Equations
Systems of Higher-Order Differential Equations
Autonomous ODE Systems
Summary
Problems 11.2
Computer Problems 11.2
11.3 Adams-Bashforth-Moulton Methods
A Predictor-Corrector Scheme
Pseudocode
An Adaptive Scheme
An Engineering Example
Some Remarks about Stiff Equations
Summary
Additional References
Problems 11.3
Computer Problems 11.3
12 Smoothing of Data and the Method of Least Squares
12.1 Method of Least Squares
Linear Least Squares
Linear Example
Nonpolynomial Example
Basis Functions {g[sub(0)], g[sub(1)], . . . , g[sub(n)]}
Summary
Problems 12.1
Computer Problems 12.1
12.2 Orthogonal Systems and Chebyshev Polynomials
Orthonormal Basis Functions {g[sub(0)], g[sub(1)], . . . , g[sub(n)]}
Outline of Algorithm
Smoothing Data: Polynomial Regression
Summary
Problems 12.2
Computer Problems 12.2
12.3 Other Examples of the Least-Squares Principle
Use of a Weight Function w (x)
Nonlinear Example
Linear and Nonlinear Example
Additional Details on SVD
Using the Singular Value Decomposition
Summary
Additional References
Problems 12.3
Computer Problems 12.3
13 Monte Carlo Methods and Simulation
13.1 Random Numbers
Random-Number Algorithms and Generators
Examples
Uses of Pseudocode Random
Summary
Problems 13.1
Computer Problems 13.1
13.2 Estimation of Areas and Volumes by Monte Carlo Techniques
Numerical Integration
Example and Pseudocode
Computing Volumes
Ice Cream Cone Example
Summary
Problems 13.2
Computer Problems 13.2
13.3 Simulation
Loaded Die Problem
Birthday Problem
Buffon’s Needle Problem
Two Dice Problem
Neutron Shielding
Summary
Additional References
Computer Problems 13.3
14 Boundary-Value Problems for Ordinary Differential Equations
14.1 Shooting Method
Shooting Method Algorithm
Modifications and Refinements
Summary
Problems 14.1
Computer Problems 14.1
14.2 A Discretization Method
Finite-Difference Approximations
The Linear Case
Pseudocode and Numerical Example
Shooting Method in the Linear Case
Pseudocode and Numerical Example
Summary
Additional References
Problems 14.2
Computer Problems 14.2
15 Partial Differential Equations
15.1 Parabolic Problems
Some Partial Differential Equations from Applied Problems
Heat Equation Model Problem
Finite-Difference Method
Pseudocode for Explicit Method
Crank-Nicolson Method
Pseudocode for the Crank-Nicolson Method
Alternative Version of the Crank-Nicolson Method
Stability
Summary
Problems 15.1
Computer Problems 15.1
15.2 Hyperbolic Problems
Wave Equation Model Problem
Analytic Solution
Numerical Solution
Pseudocode
Advection Equation
Lax Method
Upwind Method
Lax-Wendroff Method
Summary
Problems 15.2
Computer Problems 15.2
15.3 Elliptic Problems
Helmholtz Equation Model Problem
Finite-Difference Method
Gauss-Seidel Iterative Method
Numerical Example and Pseudocode
Finite-Element Methods
More on Finite Elements
Summary
Additional References
Problems 15.3
Computer Problems 15.3
16 Minimization of Functions
16.1 One-Variable Case
Unconstrained and Constrained Minimization Problems
One-Variable Case
Unimodal Functions F
Fibonacci Search Algorithm
Golden Section Search Algorithm
Quadratic Interpolation Algorithm
Summary
Problems 16.1
Computer Problems 16.1
16.2 Multivariate Case
Taylor Series for F: Gradient Vector and Hessian Matrix
Alternative Form of Taylor Series
Steepest Descent Procedure
Contour Diagrams
More Advanced Algorithms
Minimum, Maximum, and Saddle Points
Positive Definite Matrix
Quasi-Newton Methods
Nelder-Mead Algorithm
Method of Simulated Annealing
Summary
Additional References
Problems 16.2
Computer Problems 16.2
17 Linear Programming
17.1 Standard Forms and Duality
First Primal Form
Numerical Example
Transforming Problems into First Primal Form
Dual Problem
Second Primal Form
Summary
Problems 17.1
Computer Problems 17.1
17.2 Simplex Method
Vertices in K and Linearly Independent Columns of A
Simplex Method
Summary
Problems 17.2
Computer Problems 17.2
17.3 Approximate Solution of Inconsistent Linear Systems
l[sub(1)] Problem
l[sub(∞)] Problem
Summary
Additional References
Problems 17.3
Computer Problems 17.3
Appendix A: Advice on Good Programming Practices
A.1 Programming Suggestions
Case Studies
On Developing Mathematical Software
Appendix B: Representation of Numbers in Different Bases
B.1 Representation of Numbers in Different Bases
Base β Numbers
Conversion of Integer Parts
Conversion of Fractional Parts
Base Conversion 10 ↔ 8 ↔ 2
Base 16
More Examples
Summary
Problems B.1
Computer Problems B.1
Appendix C: Additional Details on IEEE Floating-Point Arithmetic
C.1 More on IEEE Standard Floating-Point Arithmetic
Appendix D: Linear Algebra Concepts and Notation
D.1 Elementary Concepts
Vectors
Matrices
Matrix-Vector Product
Matrix Product
Other Concepts
Cramer’s Rule
D.2 Abstract Vector Spaces
Subspaces
Linear Independence
Bases
Linear Transformations
Eigenvalues and Eigenvectors
Change of Basis and Similarity
Orthogonal Matrices and Spectral Theorem
Norms
Gram-Schmidt Process
Answers for Selected Problems
Bibliography
Index