Table of Content
Chapter 0: Front Matter and Web Tools
0.0 Title Page
0.1 Contents
0.2 Prefaces
0.3 License and Legal Information
0.4 Index of Routines
0.5 Dependencies Tool
Chapter 1: Preliminaries
1.0 Introduction
1.1 Error, Accuracy, and Stability
1.2 C Family Syntax
1.3 Objects, Classes, and Inheritance
1.4 Vector and Matrix Objects
1.5 Some Further Conventions and Capabilities
Chapter 2: Solution of Linear Algebraic Equations
2.0 Introduction
2.1 Gauss-Jordan Elimination
2.2 Gaussian Elimination with Backsubstitution
2.3 LU Decomposition and Its Applications
2.4 Tridiagonal and Band-Diagonal Systems of Equations
2.5 Iterative Improvement of a Solution to Linear Equations
2.6 Singular Value Decomposition
2.7 Sparse Linear Systems
2.8 Vandermonde Matrices and Toeplitz Matrices
2.9 Cholesky Decomposition
2.10 QR Decomposition
2.11 Is Matrix Inversion an N3 Process?
Chapter 3: Interpolation and Extrapolation
3.0 Introduction
3.1 Preliminaries: Searching an Ordered Table
3.2 Polynomial Interpolation and Extrapolation
3.3 Cubic Spline Interpolation
3.4 Rational Function Interpolation and Extrapolation
3.5 Coefficients of the Interpolating Polynomial
3.6 Interpolation on a Grid in Multidimensions
3.7 Interpolation on Scattered Data in Multidimensions
3.8 Laplace Interpolation
Chapter 4: Integration of Functions
4.0 Introduction
4.1 Classical Formulas for Equally Spaced Abscissas
4.2 Elementary Algorithms
4.3 Romberg Integration
4.4 Improper Integrals
4.5 Quadrature by Variable Transformation
4.6 Gaussian Quadratures and Orthogonal Polynomials
4.7 Adaptive Quadrature
4.8 Multidimensional Integrals
Chapter 5: Evaluation of Functions
5.0 Introduction
5.1 Polynomials and Rational Functions
5.2 Evaluation of Continued Fractions
5.3 Series and Their Convergence
5.4 Recurrence Relations and Clenshaw's Recurrence Formula
5.5 Complex Arithmetic
5.6 Quadratic and Cubic Equations
5.7 Numerical Derivatives
5.8 Chebyshev Approximation
5.9 Derivatives or Integrals of a Chebyshev-Approximated Function
5.10 Polynomial Approximation from Chebyshev Coefficients
5.11 Economization of Power Series
5.12 Padé Approximants
5.13 Rational Chebyshev Approximation
5.14 Evaluation of Functions by Path Integration
Chapter 6: Special Functions
6.0 Introduction
6.1 Gamma Function, Beta Function, Factorials, Binomial Coefficients
6.2 Incomplete Gamma Function and Error Function
6.3 Exponential Integrals
6.4 Incomplete Beta Function
6.5 Bessel Functions of Integer Order
6.6 Bessel Functions of Fractional Order, Airy Functions, Spherical Bessel Functions
6.7 Spherical Harmonics
6.8 Fresnel Integrals, Cosine and Sine Integrals
6.9 Dawson's Integral
6.10 Generalized Fermi-Dirac Integrals
6.11 Inverse of the Function x log x
6.12 Elliptic Integrals and Jacobian Elliptic Functions
6.13 Hypergeometric Functions
6.14 Statistical Functions
Chapter 7: Random Numbers
7.0 Introduction
7.1 Uniform Deviates
7.2 Completely Hashing a Large Array
7.3 Deviates from Other Distributions
7.4 Multivariate Normal Deviates
7.5 Linear Feedback Shift Registers
7.6 Hash Tables and Hash Memories
7.7 Simple Monte Carlo Integration
7.8 Quasi- (that is, Sub-) Random Sequences
7.9 Adaptive and Recursive Monte Carlo Methods
Chapter 8: Sorting and Selection
8.0 Introduction
8.1 Straight Insertion and Shell's Method
8.2 Quicksort
8.3 Heapsort
8.4 Indexing and Ranking
8.5 Selecting the Mth Largest
8.6 Determination of Equivalence Classes
Chapter 9: Root Finding and Nonlinear Sets of Equations
9.0 Introduction
9.1 Bracketing and Bisection
9.2 Secant Method, False Position Method, and Ridders' Method
9.3 Van Wijngaarden-Dekker-Brent Method
9.4 Newton-Raphson Method Using Derivative
9.5 Roots of Polynomials
9.6 Newton-Raphson Method for Nonlinear Systems of Equations
9.7 Globally Convergent Methods for Nonlinear Systems of Equations
Chapter 10: Minimization or Maximization of Functions
10.0 Introduction
10.1 Initially Bracketing a Minimum
10.2 Golden Section Search in One Dimension
10.3 Parabolic Interpolation and Brent's Method in One Dimension
10.4 One-Dimensional Search with First Derivatives
10.5 Downhill Simplex Method in Multidimensions
10.6 Line Methods in Multidimensions
10.7 Direction Set (Powell's) Methods in Multidimensions
10.8 Conjugate Gradient Methods in Multidimensions
10.9 Quasi-Newton or Variable Metric Methods in Multidimensions
10.10 Linear Programming: The Simplex Method
10.11 Linear Programming: Interior-Point Methods
10.12 Simulated Annealing Methods
10.13 Dynamic Programming
Chapter 11: Eigensystems
11.0 Introduction
11.1 Jacobi Transformations of a Symmetric Matrix
11.2 Real Symmetric Matrices
11.3 Reduction of a Symmetric Matrix to Tridiagonal Form: Givens and Householder Reductions
11.4 Eigenvalues and Eigenvectors of a Tridiagonal Matrix
11.5 Hermitian Matrices
11.6 Real Nonsymmetric Matrices
11.7 The QR Algorithm for Real Hessenberg Matrices
11.8 Improving Eigenvalues and/or Finding Eigenvectors by Inverse Iteration
Chapter 12: Fast Fourier Transform
12.0 Introduction
12.1 Fourier Transform of Discretely Sampled Data
12.2 Fast Fourier Transform (FFT)
12.3 FFT of Real Functions
12.4 Fast Sine and Cosine Transforms
12.5 FFT in Two or More Dimensions
12.6 Fourier Transforms of Real Data in Two and Three Dimensions
12.7 External Storage or Memory-Local FFTs
Chapter 13: Fourier and Spectral Applications
13.0 Introduction
13.1 Convolution and Deconvolution Using the FFT
13.2 Correlation and Autocorrelation Using the FFT
13.3 Optimal (Wiener) Filtering with the FFT
13.4 Power Spectrum Estimation Using the FFT
13.5 Digital Filtering in the Time Domain
13.6 Linear Prediction and Linear Predictive Coding
13.7 Power Spectrum Estimation by the Maximum Entropy (All-Poles) Method
13.8 Spectral Analysis of Unevenly Sampled Data
13.9 Computing Fourier Integrals Using the FFT
13.10 Wavelet Transforms
13.11 Numerical Use of the Sampling Theorem
Chapter 14: Statistical Description of Data
14.0 Introduction
14.1 Moments of a Distribution: Mean, Variance, Skewness, and So Forth
14.2 Do Two Distributions Have the Same Means or Variances?
14.3 Are Two Distributions Different?
14.4 Contingency Table Analysis of Two Distributions
14.5 Linear Correlation
14.6 Nonparametric or Rank Correlation
14.7 Information-Theoretic Properties of Distributions
14.8 Do Two-Dimensional Distributions Differ?
14.9 Savitzky-Golay Smoothing Filters
Chapter 15: Modeling of Data
15.0 Introduction
15.1 Least Squares as a Maximum Likelihood Estimator
15.2 Fitting Data to a Straight Line
15.3 Straight-Line Data with Errors in Both Coordinates
15.4 General Linear Least Squares
15.5 Nonlinear Models
15.6 Confidence Limits on Estimated Model Parameters
15.7 Robust Estimation
15.8 Markov Chain Monte Carlo
15.9 Gaussian Process Regression
Chapter 16: Classification and Inference
16.0 Introduction
16.1 Gaussian Mixture Models and k-Means Clustering
16.2 Viterbi Decoding
16.3 Markov Models and Hidden Markov Modeling
16.4 Hierarchical Clustering by Phylogenetic Trees
16.5 Support Vector Machines
Chapter 17: Integration of Ordinary Differential Equations
17.0 Introduction
17.1 Runge-Kutta Method
17.2 Adaptive Stepsize Control for Runge-Kutta
17.3 Richardson Extrapolation and the Bulirsch-Stoer Method
17.4 Second-Order Conservative Equations
17.5 Stiff Sets of Equations
17.6 Multistep, Multivalue, and Predictor-Corrector Methods
17.7 Stochastic Simulation of Chemical Reaction Networks
Chapter 18: Two-Point Boundary Value Problems
18.0 Introduction
18.1 The Shooting Method
18.2 Shooting to a Fitting Point
18.3 Relaxation Methods
18.4 A Worked Example: Spheroidal Harmonics
18.5 Automated Allocation of Mesh Points
18.6 Handling Internal Boundary Conditions or Singular Points
Chapter 19: Integral Equations and Inverse Theory
19.0 Introduction
19.1 Fredholm Equations of the Second Kind
19.2 Volterra Equations
19.3 Integral Equations with Singular Kernels
19.4 Inverse Problems and the Use of A Priori Information
19.5 Linear Regularization Methods
19.6 Backus-Gilbert Method
19.7 Maximum Entropy Image Restoration
Chapter 20: Partial Differential Equations
20.0 Introduction
20.1 Flux-Conservative Initial Value Problems
20.2 Diffusive Initial Value Problems
20.3 Initial Value Problems in Multidimensions
20.4 Fourier and Cyclic Reduction Methods for Boundary Value Problems
20.5 Relaxation Methods for Boundary Value Problems
20.6 Multigrid Methods for Boundary Value Problems
20.7 Spectral Methods
Chapter 21: Computational Geometry
21.0 Introduction
21.1 Points and Boxes
21.2 KD Trees and Nearest-Neighbor Finding
21.3 Triangles in Two and Three Dimensions
21.4 Lines, Line Segments, and Polygons
21.5 Spheres and Rotations
21.6 Triangulation and Delaunay Triangulation
21.7 Applications of Delaunay Triangulation
21.8 Quadtrees and Octrees: Storing Geometrical Objects
Chapter 22: Less-Numerical Algorithms
22.0 Introduction
22.1 Plotting Simple Graphs
22.2 Diagnosing Machine Parameters
22.3 Gray Codes
22.4 Cyclic Redundancy and Other Checksums
22.5 Huffman Coding and Compression of Data
22.6 Arithmetic Coding
22.7 Arithmetic at Arbitrary Precision