The Numerical Solution of Ordinary and Partial Differential Equations is a nice introduction to the topic. It would serve nicely as text in an advanced undergraduate or beginning graduate level class in numerical analysis. I used to teach a course on this topic and I would have been comfortable using this book.
The title is slightly misleading in the sense that only about ten percent of the book is devoted to ODEs. What is there is reasonably well done and could be supplemented with material from another book if more emphasis on this portion was desired. I think there is adequate coverage of the basic material on PDEs for an introductory course. Of course, the numerical solution of partial differential equations is a rather large field and no one book can cover it all.
I have two nits to pick with the book. The first is that the code presented in the text is written in Fortran. I know lots of people still use Fortran, but it is still a bit of a shock to the system to see it in print. The author also has rewritten the code in MATLAB; however, it is still written in Fortran, if you catch my meaning. It takes no advantage of any native MATLAB capabilities nor is it optimized for running in MATLAB; thus in my mind it serves no purpose in the text. The other nit I have to pick has to do with a comment that the author makes about finite difference methods versus finite element methods. Finite difference methods combined with automatic grid generation are very powerful and are often easier to use than finite elements. Both methods have their ups and downs, but finite differences are not quite as limited in their usefulness as one might be lead to believe reading this book.
A curious feature of the book is contained in Appendix D where the author has included an essay explaining why evolution violates the second law of thermodynamics. Although he doesn't say so explicitly, I presume that this argument is part of an existence proof of God. If you are intrigued, you can see Sewell's article "A Mathematician's View of Evolution", The Mathematical Intelligencer 22(4), 5-7. You can also feel free to ignore Appendix D and use the rest of the book for your class.
Jeffrey A. Graham teaches at Susquehanna University. His interests include numerical analysis, differential equations, inverse problems, and mathematical biology.
1. Direct Solution of Linear Systems.
2. Initial Value Ordinary Differential Equations.
3. The Initial Value Diffusion Problem.
4. The Initial Value Transport and Wave Problems.
5. Boundary Value Problems.
6. The Finite Element Method.
Appendix A: Solving PDEs with PDE2D.
Appendix B: The Fourier Stability Method.
Appendix C: MATLAB Programs.
Appendix D: Can 'Anything' Happen in an Open System?
Appendix E: Answers to Selected Exercises.