This is an unusual textbook in the field of numerical methods. It is written by a plasma physicist for senior undergaduate and graduate students to get an understanding and practical skills of numerical methods for the physical sciences and engineering. Its aim is to provide the framework for understanding more comprehensive numerical methods handbooks. The book is thought to be used for self-study or as the basis of an accelerated introductory course. The book includes mathematical and computational exercises which implement the algorithms that are presented but it does not teach programming. The students are supposed to be suffficiently familiar with a programming language or computational software as e.g. Matlab. The author himself has tested the exercises with the use of Octave. Perhaps the scope of the book can best be seen from the list of contents. It is subdivided into the following 13 chapters (for Chapter 9, 10 and 13 the sections are also listed to give more insight into the details for the second part of the book). Chapter 1. Fitting functions to data Chapter 2. Ordinary differential equations Chapter 3. Two-point boundary conditions Chapter 4. Partial differential equations Chapter 5. Diffusion. Parabolic partial differential equations Chapter 6. Elliptic problems and iterative matrix solution Chapter 7. Fluid dynamics and hyperbolic equations Chapter 8. Boltzmann’s equation and its solution Chapter 9. Energy-resolved diffusive transport 9.1 Collision of neutrons 9.2 Reduction to multigroup diffusion equations 9.3 Numerical representation of multigroup equations 9.3.1 Groups 9.3.2 Steady-state eigenvalue Worked example: Bare homogeneous reactor Exercise 9. Neutron transport Chapter 10. Atomistic and particle-in-cell simulation 10.1 Atomistic simulation 10.2 Particle-in-cell codes 10.2.1 Boltzmann equation pseudo-particle representation Direct simulation Monte Carlo treartment of gas Particle boundary conditions Worked example. Required resolution of PIC grid Exercise 10. Atomistic simulation Chapter 11. Monte Carlo techniques Chapter 12. Monte Carlo radiation transport Chapter 13. Next steps 13.1 Finite element methods 13.2 Discrete Fourier analysis and spectral methods 13.3 Sparse-matrix iterative Krylov solution 13.4 Fluid evolution schemes, followed by an appendix “Summary of matrix algebra” and 20 references (13 of them dated before 1995). As can be seen, the selection of topics differs considerably from the usual one encountered in such textbooks which is intentional and has its merits. By the second quarter of the material the author already comes to partial differential equations and then to particle and Monte Carlo methods which are rarely found in general numerical methods textbooks although they are essential for modern computational science. (The inclusion of the appendix with elementary matrix algebra is compared to the required foundations of the potential readers of the book not necessary or even misleading.) The author’s self-assessment in the preface is that the derivations of the material are terse and while the text is mostly self-contained, the learning curve of students without prior background will be rather steep. I fully share this opinion. Even for a normal numerical analyst lecturer it will be hard to present the material, especially from the second, and most important, half beginning with Chapter 8, in which a jump in the complexity of the material can be determined. I don’t think that the average university student will be able to get through the book in a self-study, the extraordinary high standards at the MIT, where the author is a professor, may here make the difference.

Reviewer:

Rolf Dieter Grigorieff (Berlin)