Pp. xiii+312. Academic Press, San Diego. ISBN 0-12-228740-1. Price $69.95 (hardback).

Demography, or the study of birth rates, death rates and other population statistics, is the foundation of population biology and has a multitude of uses from the practical such as ‘helping life insurance companies make a great deal of money by betting . . . on when and how you are going to die’, to the more recondite such as solving the mysteries of life history evolution. Even electronic computing arguably owes demography a debt since the IBM Corporation grew out of the winning solution to a competition set by the US Government to process the data generated by a census. That debt has been repaid, if you agree with Ebert that ‘The microchip of the 1980s has done more for demographic studies than any other single device’. But devices, of themselves, are not enough and what this field has lacked till now is a good, comprehensive manual on how to do the sums. Caswell 1989) book is invaluable for matrix models and has certainly stimulated their use, but Ebert’s new book is what was needed at a more elementary level and will enable you (and your students) to make the most of the power in the microchips on your desk. The book is aimed at advanced undergraduates, graduate students and professionals in academia as well as those in applied fields involved with the management of populations. The author says that his course, on which the book is based, is attended by students that include many bringing ‘various degrees of math anxiety, including advanced degrees’ and that his aim is to turn mathematical weaklings into muscular users of the ecological literature who will no longer have sand kicked in their face by more mathematically minded authors. For a book replete with animal and plant survival data an obvious question is: ‘What proportion of Ebert’s readers will survive the course?’ I suspect the answer is ‘most’, provided they work at it.

The book starts with life tables and gradually builds its way through 14 chapters to the ins-and-outs of analysing populations structured by age, stage or size. The life cycle graph is used as a reference point throughout. By Chapter 2 we have been introduced to the Euler equation, the stable age distribution and reproductive value and how to use them. Chapter 3 covers descriptive statistics of the life table such as *q*_{x}, *l*_{x}, *p*_{x} and *d*_{x} and how to calculate their confidence intervals. In Chapter 4 things begin to knit together when the Euler equation is expanded into its characteristic equation and it is shown that the characteristic equation for a life cycle graph can be found in an equivalent way. The largest positive root of the characteristic equation is the finite rate of population increase, λ. Life cycle graphs and matrices are similar structures but, for life histories with more than a few stages, matrices are more easily analysed so the next six chapters are devoted to matrix models, including sensitivity and elasticity analysis. Chapter 10 demonstrates two matrix methods for calculating confidence limits for λ, one based on the binomial and incorporating the variance arising from demographic stochasticity, and the other based on randomly sampling matrices for different years and therefore capturing the temporal variance (or environmental stochasticity) of λ. Both methods are applied to data from an unpublished study of a rare Florida cactus, *Cereus eriophorus*, and produce similar results despite the fact that the binomial method was performed on a matrix combining data from different years. The interesting implication of this is that the observed variability in λ for this population was due to demographic stochasticity (i.e. the uncertainty of small numbers) rather than environmental variation. The last four chapters of the book deal with growth and survival functions and size frequency distributions, showing how to use these to obtain estimates of demographic parameters.

Practically all the algebra in the book is illustrated with numerical examples, largely based on real data such as the more than 50 life tables, or their size-specific equivalents, scattered throughout. Models are all in discrete rather than continuous time so there is very little calculus. Each Chapter ends with a set of problems and by listing the code for basic programs that will perform the calculations covered in the text. These programs can also be found in Mac and PC format on the web at www.sci.sdsu.edu/ Cornered Rat/. ‘Cornered Rat’ is apparently a reference to the user-unfriendliness of the software when it runs (or crashes!), but the programs are well supported in the text of the book. The website also contains a limited sample of datafiles used as examples in the book and a short list of errata to which I could only find a few trivial additions.

This is an excellent book, well fitted to its intended purpose, but book reviewers do seem to be obliged to show some sign of independent thought by finding fault somewhere, and why should I be an exception? Ebert entirely ignores density dependence, which is perhaps a mercy to his students, but they ought at least to be told that they are missing something of importance. Density dependence is difficult (though not impossible) to deal with in matrix models, but a second omission would be easier to rectify. Ebert’s book makes clear the connection between life tables and transition matrices and works from the first to the second. Stage-based transition matrices are easier than age-based life tables to parameterize with field data but, even for plants, life tables still play a unique role in life history models. Cochran & Ellner (1992) provide a set of algorithms for working back from transition matrices to the life tables that are implicit in such data, and by including these Ebert would have closed a loop with the already strong thread that runs through his book.

Jonathan Silvertown