By Joseph Boudreau and Eric Swanson
Oxford University Press
This book aims to provide physical sciences students with the computational skills that they will need in their careers and expose them to applications of programming to problems relevant to their field of study. The authors, who are professors of physics at the University of Pittsburgh, decided to write this text to fill a gap in the current scientific literature that they noticed while teaching and training young researchers. Often, graduate students have only basic knowledge of coding, so they have to learn on the fly when asked to solve “real world” problems, like those involved in physics research. Since this way of learning is not optimal and sometimes slow, the authors propose this guide for a more structured study.
Over almost 900 pages, this book introduces readers to modern computational environments, starting from the foundation of object-oriented computing. Parallel computation concepts, protocols and methods are also discussed early in the text, as they are considered essential tools.
The book covers various important topics, including Monte Carlo methods, simulations, graphics for physicists and data modelling, and gives large space to algorithmic techniques. Many chapters are also dedicated to specific physics applications, such as Hamiltonian systems, chaotic systems, percolation, critical phenomena, few-body and multi-body quantum systems, quantum field theory, etc. Nearly 400 exercises of varying difficulty complete the text.
Even though most of the examples come from experimental and theoretical physics, this book could also be very useful for students in chemistry, biology, atmospheric science and engineering. Since the numerical methods and applications are sometimes technical, it is particularly appropriate for graduate students.