This book, which is intended as a resource for teachers of undergraduate mathematics, is a collection of self-contained modules covering various topics involving inverse problems. Typically, a direct problem asks: given a process and an input, what is the output? In an inverse problem, the basic ingredients are rearranged. Given a process and an output, what is the input? Or, given an input and the corresponding output, what is the process? For example, solving a system of linear equations, or finding an explicit formula for a given sequence of numbers can be viewed as inverse problems.

In the first chapter, Groetsch describes the nature of inverse problems and gives several examples that have led to important breakthroughs in science. One example is Adams's and LeVerrier's discovery of Neptune. Given a moving body, a direct problem would be to determine its effect on other bodies. Adams and LeVerrier solved the inverse problem. By observing irregularities in the orbit of Uranus, they were able to predict the existence and location of Neptune. The chapter concludes with a discussion of why students should study inverse problems. Inverse problems involve a different way of thinking and, when studied along with direct problems, help students to see "the whole picture."

The modules are presented in the next four chapters, and they are organized by topic: precalculus, calculus, differential equations, and linear algebra. For each module, the course level, goals, and necessary background and technology are listed. A basic problem is described, and then activities — mostly in the form of exercises — are given to help students explore the ideas presented in the module. Some of the activities use MATLAB scripts written by Groetsch. These scripts give students an opportunity to investigate some of the more computationally involved models and algorithms. Each module ends with some historical notes and suggestions for further reading.

The appendices contain selected answers for the activities as well as the code for the MATLAB scripts. These scripts are also available at Groetsch's website. There are some discrepancies between the script appendix and the website, however. The script 'shape2' mentioned on p. 64 is missing from the appendix, while at the website, the scripts 'flow' and 'notch' are missing from the "all scripts" file.

Here is a very short list of some example questions from the modules:

**Precalculus**

- Drop a stone into a well, and measure the time before you hear the splash. How deep is the well?
- Given a cannon with a fixed muzzle velocity, what angle should you use to hit your target (assuming no air resistance)?

**Calculus**

- How should you design a water clock? That is, what shape (solid of revolution) should be used so that when water runs out of a hole in the bottom of the solid, the water level decreases at a constant rate?
- When hanging a distributed load from a cable (as in a suspension bridge), given the weight distribution of the load, what is the shape of the cable? Or, given the shape of the cable, what is the weight distribution of the load?

**Differential Equations**

- Repeat the cannon problem from the precalculus chapter, but now assume air resistance is proportional to velocity.
- By observing the motion of an object hanging from a spring, can we determine the damping coefficient and the spring constant?

**Linear Algebra**

- Suppose the linear system A
**x** = **b** has no solutions. Find a vector **x** so that the quantity ||A**x** - **b**|| is minimized.
- Can we recover the three-dimensional density of stars in a distant cluster from the two-dimensional density of stars in the image we see through a telescope?

For the most part, the modules are very applied, and many rely on fundamental ideas from physics. Newton's laws, Torricelli's law, conservation of energy, and the inverse square law are used freely. The topics studied include springs, heat flow, seismology, celestial mechanics, groundwater seepage, and hydraulics. Also, numerical techniques are frequently used (and often applied in the MATLAB scripts).

Teachers looking for extra activities for students, especially those interested in applications, will find a wealth of material in *Inverse Problems*. They should, however, be aware of the book's level of sophistication and heavy emphasis on physics. The activities are often quite challenging, and occasionally they touch on more advanced concepts (like uniform convergence). Although the topics are indeed interesting, it seems that many students in the intended courses may not have the scientific background or mathematical maturity for some of the activities. Perhaps some of the topics would be better suited for more advanced undergraduates. The preface points out that the material is not immediately student ready. This is indeed the case: considerable preparation on the part of the instructor may be necessary.

One final thought. Groetsch makes the point that it is not always clear which is the direct problem and which is the inverse problem. Did Galileo and Newton *assume* properties of the forces of nature and *derive* laws of motion, or did they *observe* motion and *determine* the forces? It is refreshing and enlightening to think about this structure, but an interesting problem is just that — regardless of one's viewpoint.

Keith Brandt (keith.brandt@rockhurst.edu) is Associate Professor of Mathematics at Rockhurst University in Kansas City, Missouri. His interests include algebra, combinatorics, and the theory of equations. He is also fond of listening to the blues on KKFI.