3rd Edition. — Weinheim: Wiley-VCH, 2015. — 644 p. — ISBN: 3527413154.
The use of computation and simulation has become an essential part of the scientific process. Being able to transform a theory into an algorithm requires significant theoretical insight, detailed physical and mathematical understanding, and a working level of competency in programming.
This upper-division text provides an unusually broad survey of the topics of modern computational physics from a multidisciplinary, computational science point of view. Its philosophy is rooted in learning by doing (assisted by many model programs), with new scientific materials as well as with the Python programming language. Python has become very popular, particularly for physics education and large scientific projects. It is probably the easiest programming language to learn for beginners, yet is also used for mainstream scientific computing, and has packages for excellent graphics and even symbolic manipulations.
The text is designed for an upper-level undergraduate or beginning graduate course and provides the reader with the essential knowledge to understand computational tools and mathematical methods well enough to be successful. As part of the teaching of using computers to solve scientific problems, the reader is encouraged to work through a sample problem stated at the beginning of each chapter or unit, which involves studying the text, writing, debugging and running programs, visualizing the results, and the expressing in words what has been done and what can be concluded. Then there are exercises and problems at the end of each chapter for the reader to work on their own (with model programs given for that purpose).
Computing Software Basics
Errors and Uncertainties in Computations
Monte Carlo: Randomness, Walks, and Decays
Differentiation and Integration
Matrix Computing
Trial-and-Error Searching and Data Fitting
Solving Differential Equations: Nonlinear Oscillations
ODE Applications: Eigenvalues, Scattering, and Projectiles
High-Performance Hardware and Parallel Computers
Applied HPC: Optimization, Tuning, and GPU Programming
Fourier Analysis: Signals and Filters
Wavelet and Principal Components Analyses: Nonstationary Signals and Data Compression
Nonlinear Population Dynamics
Continuous Nonlinear Dynamics
Fractals and Statistical Growth Models
Thermodynamic Simulations and Feynman Path Integrals
Molecular Dynamics Simulations
PDE Review and Electrostatics via Finite Differences and Electrostatics via Finite Differences
Heat Flow via Time Stepping
Wave Equations I: Strings and Membranes
Wave Equations II: Quantum Packets and Electromagnetic
Electrostatics via Finite Elements
Shocks Waves and Solitons
Fluid Dynamics
Integral Equations of Quantum Mechanics