Introduction to Differential Equations Using Sage


David Joyner and Marshall Hampton
JOHNS HOPKINS UNIVERSITY PRESS 2012, 280 PAGES
PRICE £31.00 (HARDBACK) ISBN 978-1-4214-0637-4

Introduction to Differential Equations Using SageSage is a free open-source mathematical software system which combines the power of many mathematical software packages into a common PYTHON-based interface. David Joyner, who has worked on the development of Sage, has co-authored with Marshall Hampton this book, the purpose of which is to teach the theory of the solution of differential equations with the aid of Sage as a valuable learning tool.

The theoretical basis of the analytical solutions of ordinary (ODE) and partial (PDE) differential equations is explained in detail.  I found the explanations straightforward to follow but would recommend that to get the most out of the book the reader should have familiarity with A-level maths.

There are four chapters.  Chapter 1 starts with a definition of the different types of differential equation and the existence of solutions before going on to examine 1st order ODEs including numerical as well as analytical methods of solution.  Second and higher order linear ODEs are addressed in Chapter 2.  Systems of linear ODEs with constant coefficients are treated in Chapter 3 as are systems of non-linear ODEs such as predator-prey and the Lorenz equations.  Finally Chapter 4 introduces some of the simpler solutions to well-known PDEs.

A very wide range of analytical solutions, dependent on the type of equation to be solved, are presented to the reader.  Examples are:

  • The integrating factor method for 1st order linear ODEs.
  • The use of Laplace transforms for 2nd and higher order linear ODEs with constant coefficients.
  • For systems of linear ODEs, use of eigenvalues and vectors.  Some non-linear systems are examined with the method of linearizing near equilibria.
  • Particular PDEs are solved by separation of variables and superposition of solutions exploiting Fourier series.

The symbolic solver of Sage is used throughout the book as a teaching aid with well-chosen Sage plots to illustrate solutions.  Sage can, for example, solve the equation
x + 2x′ + 2x = e-2t with initial conditions x = x′ = 0 at t = 0 directly but this would not be helpful as a teaching tool for the Laplace Transform method.  Instead the authors, after solving the equation manually by that method, then go on to a three stage Sage session, namely: taking the Laplace Transform of the equation, solving it and taking the inverse transform.

Sage can be installed from the website www.sagemath.org.  However, while the website does include a depth of material for the new user, I would have appreciated a section in the book to introduce Sage and demonstrate its capabilities and the power of the PYTHON-based interface.

A good part of the book is taken up with practical applications, with physics examples from Newtonian mechanics, Hooke’s law, electrical circuits and the one dimensional heat, wave and Schrödinger equations.  Other examples are the Lanchester equations and the Lorenz model.  More humorous applications are Sherlock Holmes using the cooling model to determine time of death and a set of three non-linear ODEs to model how to cope with Zombie attack!

I feel that this book, with its many practice examples, would be ideal for those in the first year of a mathematics degree course and for those studying or working in physics or any area requiring a good knowledge of differential equations.

Adrian Hamilton CMath FIMA

Book review published directly onto IMA website (February 2014)

Published