You are here

Sage for Undergraduates

Gregory V. Bard
Publication Date: 
Number of Pages: 
[Reviewed by
John D. Cook
, on
According to the Sage website, Sage is a "free open-source mathematics software system" that "builds on top of many existing open-source packages" and makes their features available "through a common, Python-based language or directly via interfaces or wrappers." The site says that the Sage project's mission is "Creating a viable free open source alternative to Magma, Maple, Mathematica and Matlab."
Gregory Bard has produced a second edition of his book Sage for Undergraduates. The primary motivation for the new edition was to update the book for compatibility with the latest version of Python. To unpack this statement a little bit, it will help to say something about the relationship between Sage and Python, and why an upgrade of Python necessitated an upgrade of the book.
The Sage system integrates many software packages, some written in Python but others not. The Sage language wrapping these pages is essentially Python, with some Mathematica-like extensions. Python went through a disruptive change from Python 2 to Python 3, and Sage has been updated to be compatible with Python 3. The second edition of Sage for Undergraduates has been rewritten to support the changes in Python and in Sage.
Bard notes that a common error is to assume that juxtaposition implies multiplication, i.e. that x y means x times y. Why would anyone make this mistake? A Python programmer would not, but a Mathematica user would. Sage is enough like Mathematica that one may be tempted to fall into Mathematica habits. Or perhaps more fundamentally, Sage, like Mathematica, seeks to support conventional mathematics notation; Sage supports mathematical notation well enough that users may come to expect more conventional notation than the environment provides.
Although the Sage language is essentially Python, Bard's book does not assume the reader has Python programming experience. In some ways, someone who has not seen Python could be at an advantage, approaching Sage without preconceived ideas of how the software should work.
Sage for Undergraduates reads like a well-written textbook, not like software documentation. Readers with more experience and less patience may prefer to read the Sage documentation, but this book provides more of a gentle on-ramp to Sage. The book has a conversational tone, and many examples, making it far more welcoming than a software reference manual.
Sage for Undergraduates shows how to use Sage to carry out common tasks in the areas an undergraduate is most likely to have seen, including algebra, calculus, number theory, differential equations, and statistics. It includes short examples throughout the book as well as extended examples in areas of application: cryptography, physics, biology, etc. The book also includes sections on practical computational topics, such as creating interactive web pages with Sage.
In short, Sage for Undergraduates is a pleasant introduction to Sage by someone who clearly has experience using and teaching Sage.
Bio: John D. Cook is an applied mathematician and the founder of Kingwood Data Privacy.