Learning through doing is the foundation of this book, which allows readers to explore case studies as well as expository material. The book provides a practical guide to the numerical solution of linear and nonlinear equations, differential equations, optimization problems, and eigenvalue problems. It treats standard problems and introduces important variants such as sparse systems, differential-algebraic equations, constrained optimization, Monte Carlo simulations, and parametric studies. Stability and error analysis is emphasized, and the MATLAB (R) algorithms are grounded in sound principles of software design and in the understanding of machine arithmetic and memory management. Nineteen case studies allow readers to become familiar with mathematical modeling and algorithm design, motivated by problems in physics, engineering, epidemiology, chemistry, and biology. A website provides solutions to the challenges that are offered throughout the book and also supplies relevant MATLAB codes, derivations, and supplementary notes and slides.
Dianne Prost O'Leary is a professor of computer science at the University of Maryland, and also holds an appointment in the university's Institute for Advanced Computer Studies (UMIACS) and in the Applied Mathematics and Scientific Computing Program. She earned a B.S. from Purdue University and a Ph.D. from Stanford University. Her research is in computational linear algebra and optimization, with applications to solution of ill-posed problems, image deblurring, information retrieval, and quantum computing. She has authored over 90 research publications on numerical analysis and computational science and 30 publications on education and mentoring.
Preface Part I: Preliminaries: Mathematical Modeling, Errors, Hardware, and Software Chapter 1: Errors and Arithmetic Chapter 2: Sensitivity Analysis: When a Little Means a Lot Chapter 3: Computer Memory and Arithmetic: A Look Under the Hood Chapter 4: Design of Computer Programs: Writing Your Legacy Part II: Dense Matrix Computations Chapter 5: Matrix Factorizations Chapter 6: Case Study: Image Deblurring: I Can See Clearly Now Chapter 7: Case Study: Updating and Downdating Matrix Factorizations: A Change in Plans Chapter 8: Case Study: The Direction-of-Arrival Problem Part III: Optimization and Data Fitting Chapter 9: Numerical Methods for Unconstrained Optimization Chapter 10: Numerical Methods for Constrained Optimization Chapter 11: Case Study: Classified Information: The Data Clustering Problem Chapter 12: Case Study: Achieving a Common Viewpoint: Yaw, Pitch, and Roll Chapter 13: Case Study: Fitting Exponentials: An Interest in Rates Chapter 14: Case Study: Blind Deconvolution: Errors, Errors, Everywhere Chapter 15: Case Study: Blind Deconvolution: A Matter of Norm Part IV: Monte Carlo Computations Chapter 16: Monte Carlo Principles Chapter 17: Case Study: Monte-Carlo Minimization and Counting One, Two, Too Many Chapter 18: Case Study: Multidimensional Integration: Partition and Conquer Chapter 19: Case Study: Models of Infections: Person to Person Part V: Ordinary Differential Equations Chapter 20: Solution of Ordinary Differential Equations Chapter 21: Case Study: More Models of Infection: It's Epidemic Chapter 22: Case Study: Robot Control: Swinging Like a Pendulum Chapter 23: Case Study: Finite Differences and Finite Elements: Getting to Know You Part VI: Nonlinear Equations and Continuation Methods Chapter 24: Nonlinear Systems Chapter 25: Case Study: Variable-Geometry Trusses Chapter 26: Case Study: Beetles, Cannibalism, and Chaos Part VII: Sparse Matrix Computations, with Application to Partial Differential Equations Chapter 27: Solving Sparse Linear Systems: Taking the Direct Approach Chapter 28: Iterative Methods for Linear Systems Chapter 29: Case Study: Elastoplastic Torsion: Twist and Stress Chapter 30: Case Studt: Fast Solvers and Sylvester Equations: Both Sides Now Chapter 31: Case Study: Eigenvalues: Valuable Principles Chapter 32: Multigrid Methods: Managing Massive Meshes Bibliography Index