A Students Guide to Numerical Methods
This concise, plain-language guide, for senior undergraduates and graduate students, aims to develop intuition, practical skills, and an understanding of the framework of numerical methods for the physical sciences and engineering. It provides accessible, self-contained explanations of mathematical principles, avoiding intimidating formal proofs. Worked examples and targeted exercises enable the student to master the realities of using numerical techniques for common needs such as the solution of ordinary and partial differential equations, fitting experimental data, and simulation using particle and Monte Carlo methods.
Topics are carefully selected and structured to build understanding, and illustrate key principles such as: accuracy, stability, order of convergence, iterative refinement, and computational effort estimation. Enrichment sections and in-depth footnotes form a springboard to more advanced material and provide additional background. Whether used for self-study, or as the basis of an accelerated introductory class, this compact textbook provides a thorough grounding in computational physics and engineering.
IAN H. HUTCHINSON is a plasma physicist and Professor in the School of Engineering at MIT where he has been solving physical problems using computers for 40 years. A fellow of the American Physical Society and the Institute of Physics, he has won several awards for excellence in teaching at MIT, and is the author of the definitive textbook on making measurements of plasmas, Principles of Plasma Diagnostics (Cambridge University Press, 2002).
S.D.G.
A Students Guide to Numerical Methods
IAN H. HUTCHINSON
Massachusetts Institute of Technology
University Printing House, Cambridge CB2 8BS, United Kingdom
Cambridge University Press is part of the University of Cambridge.
It furthers the Universitys mission by disseminating knowledge in the pursuit of education, learning and research at the highest international levels of excellence.
www.cambridge.org
Information on this title: www.cambridge.org/9781107095670
Cambridge University Press 2015
This publication is in copyright. Subject to statutory exception and to the provisions of relevant collective licensing agreements, no reproduction of any part may take place without the written permission of Cambridge University Press.
First published 2015
Printed in the United Kingdom by TJ International Ltd, Padstow, Cornwall
A catalogue record for this publication is available from the British Library
Library of Congress Cataloging-in-Publication Data
Hutchinson, I. H. (Ian H.), 1951A students guide to numerical methods / I. H. Hutchinson, Massachusetts Institute of Technology.
pages cm
Includes bibliographical references and index.
ISBN 978-1-107-09567-0 (Hardback) ISBN 978-1-107-47950-0 (Paperback)
1. Numerical analysis. 2. Measurement. 3. Number concept. 4. Matrices. 5. MathematicsStudy and teaching. I. Title.
QA39.3.H92 2015
518dc23 2014043961
ISBN 978-1-107-09567-0 Hardback
ISBN 978-1-107-47950-0 Paperback
Cambridge University Press has no responsibility for the persistence or accuracy of URLs for external or third-party internet websites referred to in this publication, and does not guarantee that any content on such websites is, or will remain, accurate or appropriate.
Contents
Preface
This book presents what every graduate-level physicist and engineer should know about solving physical problems by computer.
Hardly any research engineer or scientist, whatever their speciality, can do without at least minimal competence in computational and numerical methods. It helps the practitioner greatly to appreciate the big picture of how computational techniques are applied. A book like this that covers the breadth of the methods, with a minimum of fuss, serves the purpose of acquiring the essential knowledge. It is derived from an accelerated short course for entering graduate students in the MIT Department of Nuclear Science and Engineering. Thats why some examples used to illustrate the numerical techniques are drawn from nuclear science and engineering. But no specific background nuclear knowledge is required. The mathematical and computational techniques explained are applicable throughout a whole range of engineering and physical science disciplines, because the underlying numerical methods are essentially common.
For so short a course, a great deal of background must be taken for granted, and a lot of relevant topics omitted. The brevity is not a fault though; it is an intention. And while there is an enormous range of material that could be added, I see the deliberate selection as a merit. This approach, I believe, enables a student to read the text sequentially, experience rapid progress, and work to master the content. Of course the present approach contrasts strongly both with comprehensive textbooks and with handbooks. Massive teaching textbooks, in addition to providing vastly more detail, cover topics such as standard matrix inversion or decomposition, and elementary quadrature. Those can mostly be taken for granted today, I believe, because of widespread use of mathematical computing systems. Large textbooks also often approach the topics by a round-about set of examples and develop the mathematics in a more elementary and drawn-out style. Doubtless that approach has merit, but it requires much more time to get to the heart of the matter. Students with good preparation appreciate a more accelerated approach than slogging through many hundreds of pages of textbook. Thats especially so, since such textbooks often stop just when the techniques are getting useful for science and engineering, that is, with partial differential equations. This book gets to partial differential equations by the second quarter of its material, and continues into a discussion of particle and Monte Carlo methods that are essential for modern computational science and engineering, but rarely treated in general numerical methods textbooks. There are several excellent numerical methods handbooks; and I often use them. They cover so much material, though, that the reader can and should only dip into it, and use it for reference. Benefitting from such comprehensive treatments requires an understanding of the framework of the subject. The present book aims to provide that framework in as compact a form as is reasonable.
Even having deliberately chosen to keep it short, there are some places where additional explanation or details seem really valuable. To maintain the continuity and brevity of the main text, the additional material has been placed in enrichment sections. Enrichment material can safely be omitted (and is omitted from the lectures and the expectations of the half-term course as I teach it) but its presence gives additional background and allows an interested reader to see, still briefly, where the cited results come from. The main material (excluding the footnotes, enrichment, worked examples, or exercises) of each chapter except the last is designed to be covered in a one-and-a-half-hour lecture. But most students then need to spend time reviewing the material of that lecture, including the worked examples.
Although the course includes mathematical and computational exercises, which implement the algorithms that are discussed, it does not teach programming. A student who wants to master the material must tackle the exercises. To do so, the student must already have, or develop as they go, sufficient familiarity with a chosen language or computational system. The exercises have been tested with the use of Octave, which is an open-source alternative with practically the same syntax and capability as Matlab. Many students will find these systems appropriate, because they have built-in graphics and matrix variable types and routines, but many other language choices are possible. Elementary familiarity with matrices and the terms of linear algebra is presumed. That knowledge is reviewed in highly abbreviated form in the appendix. A principle of the development is that routine matrix algebra and functions are just used; standard direct matrix algorithms are not explained or programmed. However, iterative matrix techniques that are specific to solving differential equations are introduced on the basis of physical intuition as part of the main development, and a brief introduction to modern iterative sparse-matrix solution techniques is given in the final chapter.