Stochastic simulation has become an indispensable tool in the scientific toolkit. We were all told as students that molecules jostle one another incessantly because of thermal motion and that chemical reactions rely on the resulting chance encounters between molecules. However, most of us took chemistry and physics classes in which attention quickly shifted to vast collections of molecules, for which the inherent randomness washed out when viewing overall concentrations; we then formulated and solved deterministic rate equations. However, some key actors in cells appear in only a small number of copies (perhaps just one, for some genes). Moreover, experimental technique now allows routine study of single cells and even single molecules, so corresponding analytical tools that go beyond ensemble averaging are needed, just to extract the lessons that are latent in our datasets.

Most of us also took classes in which chemical reactions were studied in imagined “well-stirred” conditions, and diffusion was studied separately in contexts where chemical reactions were not important. However, a vesicle of neurotransmitter must travel across a synapse while being degraded; a morphogen must bind and activate receptors while establishing a spatial gradient; and so on. This book's title expresses the authors' aim to establish a framework capable of handling biophysically relevant situations like these.

Student interest in this topic is strong. My own students are at least implicitly aware that results from even the simplest stochastic simulation seem more “lifelike” than deterministic results, and they are always excited to see the gradual emergence of deterministic behavior as copy numbers get large. I realized some time ago that stochastic simulation belongs in any biophysics curriculum, starting from the very first introductory course and reappearing as appropriate at later stages. However, it was not so easy to find appropriate course materials.

Erban and Chapman now give us a concise, elegant, and practical survey of numerical methods that are useful for such analyses, although at a level somewhat higher than first-year courses. An advanced undergraduate who is comfortable with ordinary differential equations and conditional probability and the associated mathematical notation can follow most of the discussion; professionals will also find much here that is uniquely valuable.

I particularly admired how the first chapter dives in with a simple yet nontrivial algorithm, right on page 2, to focus attention, then proceeds to generalize it in steps, arriving by the end of chapter 1 with the celebrated stochastic simulation algorithm (often called the *Gillespie algorithm*). This algorithm uses a computer's pseudorandom number generator to generate instances from a complex process whose distribution can be proven to mimic a desired random process, for example, a biochemical reaction scheme such as expression of a gene.

With that concrete backdrop, the next chapter gives a clear overview of some of the qualitative, inherently stochastic phenomena that are impossible to capture in deterministic modeling (e.g., stochastic resonance). Now we have the students' attention and a strong motivation for the work that is to follow.

Another outstanding feature is the discussion of efficient variants of Gillespie's original implementation. This material is difficult to find elsewhere in such a clear and usable form. However, the book is much more than a handbook of algorithms; whenever possible, numerical results are cross-checked with analytical results, for example, from Fokker–Planck equations.

Although the book is not solely written with biophysical applications in mind, several of the key applications will be of great interest to biophysics students, including pattern formation (French flag and Turing models), bacterial chemotaxis, population dynamics, and ion channel kinetics.

A free online resource supports the book with working computer code in MATLAB that generates all the book's figures; some examples are also given in Fortran. An instructor who uses those languages can take these lines of code (and datasets also supplied) as points of departure for new exercises, or more broadly as illustrations of how the principles discussed in the text can be reduced to practical code.

*Stochastic Modelling of Reaction–Diffusion Processes* would be suitable as the basis of a graduate or advanced undergraduate course in a department of biophysics, physics, chemistry, chemical or bio-engineering, or biochemistry.