NUMERICAL COMPUTATION IN SCIENCE AND ENGINEERING C. Pozrikidis University of California, San Diego New York Oxford OXFORD UNIVERSITY PRESS 1998
CONTENTS Preface ix Pseudocode Language Commands xi 1 Numerical Computation 1 1.1 Analytical and numerical computation 1 1.2 Hardware and software 4 1.3 Computer arithmetic and round-off error 11 1.4 Algorithms 19 1.5 Computer simulation 31 1.6 Systematic error and its reduction 42 1.7 Iterations, numerical sequences, and their convergence 47 References 50 2 Numerical Matrix Algebra and Matrix Calculus 52 2.1 Matrix algebra 52 2.2 Square matrices 63 2.3 Inverse of a matrix, cofactors, and the determinant 71 2.4 Computation of the determinant 79 2.5 Computation of the inverse 83 2.6 Xt/and.LDI/decompositions 86 2.7 QR decomposition 93 2.8 Systems of linear algebraic equations 98 2.9 Eigenvalues and eigenvectors 101 2.10 Wielandt's deflation 112 2.11 Successive linear mappings 115 2.12 Functions of matrices 118 References 120 3 Linear Algebraic Equations 122 3.1 Significance and applications 122
3.2 Diagonal and triangular systems 130 3.3 General procedures and overview 133 3.4 Tridiagonal, pentadiagonal, and sparse systems 141 3.5 Gauss elimination and related methods 151 3.6 Iterative methods 159 3.7 Jacobi, Gauss-Seidel, and the SOR method 163 3.8 Acceleration of iterative methods by deflation 168 3.9 Minimization and conjugate-gradients methods 172 3.10 Overdetermined systems 178 References 178 4 Nonlinear Algebraic Equations 179 4.1 Mathematical and physical context 179 4.2 Bracketing methods 186 4.3 One-point iterations 188 4.4 Newton's and higher-order methods for one equation 197 4.5 Newton's method for a system of equations 204 4.6 Modified Newton methods 207 4.7 Zeros of polynomials 213 4.8 Estimating the location of a root 219 4.9 Difficult problems, continuation, and embedding 221 References 223 5 Eigenvalues of Matrices 224 5.1 Mathematical and physical context 224 5.2 Complex matrices, generalized, and nonlinear eigenvalue problems 230 5.3 Analytical results for diagonal, triangular, and tridiagonal matrices; circulants 235 5.4 Computing the roots of the characteristic polynomial 240 5.5 The power method 243 5.6 Methods for computing all eigenvalues by similarity transformations 250 5.7 Transforming a symmetric matrix to a simpler one 252 5.8 Transforming an arbitrary matrix to a tridiagonal or Hessenberg matrix 258 References 261 6 Function Interpolation and Differentiation 262 6.1 Interpolation and extrapolation 262 6.2 The interpolating polynomial and its computation 264
vii 6.3 Error and convergence of polynomial interpolation 275 6.4 Optimal positioning of data points 279 6.5 Selection of the interpolating variable 284 6.6 Piecewise polynomial interpolation and splines 285 6.7 Hermite interpolation 291 6.8 Parametric description of lines 296 6.9 Interpolation of a function of two variables 301 6.10 Parametric description of surfaces 308 6.11 Numerical differentiation of a function of one variable 312 6.12 Numerical differentiation of a function of two variables 321 References 326 7 Numerical Integration 327 7.1 Computation of one-dimensional integrals 327 7.2 Integration by local polynomial interpolation: Newton Cotes rules 333 7.3 Optimal distribution of base points, and the Gauss Legendre quadrature 345 7.4 Singular integrands 351 7.5 Integrals over infinite domains 363 7.6 Rapidly varying and oscillatory integrands 368 7.7 Area, surface, and multidimensional integrals 370 7.8 Numerical solution of Fredholm integral equations 378 References 388 8 Approximation of Functions, Lines, and Surfaces 390 8.1 Problem statement and significance 390 8.2 Polynomial function approximation 391 8.3 Bezier representation of lines and surfaces 400 8.4 S-spline approximation and representation of lines and surfaces 403 8.5 Pade approximation 412 8.6 Trigonometric approximation and interpolation 415 8.7 Fast Fourier transform 425 8.8 Trigonometric approximation of a function of two variables 432 References 435 9 Ordinary Differential Equations; Initial-Value Problems 436 9.1 Problem formulation and physical context 436
9.2 Lnear autonomous systems 448 9.3 Explicit and implicit methods for nonlinear systems 458 9.4 Predictor-corrector methods 466 9.5 Error estimate and adaptive step-size control 475 9.6 Stiff problems 479 References 481 10 Ordinary Differential Equations; Boundary-Value, Eigenvalue, and Free-Boundary Problems 482 10.1 Two-point boundary-value problems 482 10.2 The shooting method 487 10.3 Finite-difference and finite-volume methods 494 10.4 Finite-element methods 498 10.5 Weighted-residual methods 507 10.6 Eigenvalue problems 515 10.7 Free-boundary problems 522 References 524 11 Finite-Difference Methods for Partial-Differential Equations 526 11.1 Introduction and procedures 526 11.2 One-dimensional unsteady diffusion 534 11.3 Unsteady diffusion in two and three dimensions 545 11.4 Poisson and Laplace equations 550 11.5 One-dimensional convection 555 11.6 Convection in two and three dimensions 567 11.7 Convection diffusion in one dimension 569 11.8 Convection-diffusion in two and three dimensions 577 References 579 Appendix A: Calculus Refresher 581 Appendix B: Orthogonal Polynomials 586 Appendix C: UNIX Primer 604 Appendix D: FORTRAN Primer 611 Appendix E: FORTRAN Programs 615 Index 619