01 / Reading Guide
Reading Guide
Citation
Newman, M. (2012). Computational Physics. CreateSpace Independent Publishing Platform.
A newer edition (2nd edition, 2025) is available; chapter numbers and some contents may differ.
Chapter Summary
This is Mark Newman's Python-based textbook, published through CreateSpace in a printing dated 2012 and, in library records, a "revised and expanded" printing dated 2013 of about 549 pages. A newer second edition (about 611 pages) has since been listed, so the notes below concern the first edition. The Princeton University Library record summarizes it as a book that begins with an introduction to Python and then proceeds step by step through the techniques of computational physics, with examples ranging from simple mechanics problems to complex calculations in quantum mechanics, electromagnetism and statistical mechanics. The publisher's description names finite difference methods, numerical quadrature and the fast Fourier transform among the techniques every physicist should know, and calls the book a complete undergraduate introduction that also suits advanced students and researchers. The library record lists the contents as the following chapters, an appendix section and an index; the chapter numbering follows that order.
Chapter 1: Introduction
The opening chapter named in the library record; the review discussed below does not describe it.
Chapter 2: Python Programming for Physicists
A chapter on the basics of Python syntax and program structure. According to Ayars, writing in Computing in Science & Engineering (January/February 2014), it is sufficient to get most students started on programming without prior experience.
Chapter 3: Graphics and Visualization
Ayars notes that the chapter immediately after the Python basics introduces Python's graphing capabilities, which lets students quickly use what they learn in other classes.
Chapter 4: Accuracy and Speed
A short chapter on the accuracy and speed of numerical calculations. Ayars initially found its early position odd, but reports that discussions of precision, accuracy and the relative errors of different methods recur throughout the later chapters, and that the chapter ties them together.
Chapters 5–6: Integrals and Derivatives; Solution of Linear and Nonlinear Equations
Integration and differentiation, then root-finding. Ayars says the author usually explains the simplest approach first and builds from it to more powerful techniques, and ends most sections by mentioning the NumPy or SciPy functions that handle the problem. He names Romberg integration as a topic that became clearer to him through the book.
Chapters 7–9: Fourier Transforms; Ordinary Differential Equations; Partial Differential Equations
The standard sequence of Fourier methods, ordinary differential equations and partial differential equations, listed in the library record and covered, according to Ayars, among the usual introductory computational topics.
Chapters 10–11: Random Processes and Monte Carlo Methods; Using What You Have Learned
Monte Carlo methods come near the end, followed by a closing chapter with the title "Using what you have learned" and then the appendices.
Key Concepts
Chapters 1–4: Tools
- Python programming: the subject of Chapter 2.
- Graphics and visualization: Chapter 3.
- Accuracy and speed: Chapter 4, which the review identifies as a thread running through the rest of the book.
Chapters 5–9: Numerical methods
- Integrals and derivatives: Chapter 5, including quadrature.
- Solution of linear and nonlinear equations: Chapter 6.
- Fourier transforms: Chapter 7.
- Differential equations: ordinary (Chapter 8) and partial (Chapter 9).
Chapters 10–11: Stochastic methods and practice
- Random processes and Monte Carlo methods: Chapter 10.
Critical Analysis
Strengths
- Clear, readable explanations. Ayars calls the book "surprisingly readable" and says explanations are clear: the author almost invariably begins with a thorough explanation of the simplest approach and then builds toward more powerful techniques.
- Python from the start. The opening chapters teach the language and its plotting tools before the numerical methods begin, so students with no programming background can start. Ayars, who teaches a one-semester computational physics course, calls it the first published Python-based text of this kind that he knew of and says he would gladly adopt it.
- Accuracy as a unifying theme. The early chapter on accuracy and speed gives later sections a common reference point for comparing the errors of different methods, according to the same review: nearly every section ties back to it.
- Link to the Python libraries. Most sections close by pointing to the NumPy or SciPy functions that carry out the technique in practice.
Limitations
- Gaps noted by a reviewer. Ayars found two omissions: coverage of curve fitting amounts to a single end-of-chapter problem, with nothing on nonlinear fitting or SciPy's fitting tools, and the book does not cover reading and writing files. He considered both easy to supplement in class.
- Selective scope. The contents list has no separate chapters on curve fitting, interpolation or data analysis, and the publisher's description of the second edition lists significant new material in interpolation and data analysis, among other areas.
- A superseded printing. The page described here concerns the 2012/2013 printing; the second edition lists 611 pages against about 549, with substantially revised and updated material, so readers should check which edition they hold.
Where It Fits in the Course
In the computational physics list, Newman's book is one of two Python-based computational physics textbooks. Landau, Páez and Bordeianu's Computational Physics: Problem Solving with Python adds data-science chapters (Fourier analysis, wavelets, machine learning, quantum computing) and a long run of application chapters in its fourth edition, whereas Newman's contents are shorter and concentrate on core methods. A student who wants a first-semester course should consider Newman; a student who wants applications across physics should consider Landau.
Kinder and Nelson's A Student's Guide to Python for Physical Modeling is a short practical introduction to Python that assumes no programming experience and could be read alongside Newman's Chapters 2–3. Press and colleagues' Numerical Recipes is a reference to numerical methods with complete routines in C++, Thijssen's Computational Physics is a graduate-level account of methods in condensed matter physics and chemistry, and Taylor's An Introduction to Error Analysis is a companion for the uncertainty ideas of Chapter 4.
How to Use This Book
Prerequisites are calculus, introductory mechanics and electromagnetism; no programming experience is assumed since Python is taught in the opening chapters.
A practical plan:
- Start: read Chapters 2 and 3 while writing and running small programs.
- Core: Chapters 4–9, taken in order, with Chapter 4's discussion of errors in mind for each later method.
- Later chapters: Chapter 10 on Monte Carlo methods and the final chapter on applying what has been learned.
- Supplement: add a short treatment of file input and output, and of curve fitting with SciPy, as the review recommends.
- Check the edition: look at whether you have the first or the second edition before following chapter numbers in a course syllabus.
