I like books. Given a choice, I’d much rather read a book than online documentation. Typically a book speaks with one voice and has been more carefully edited. Unfortunately, it can be hard to find books on specialized software. That’s why I was glad to hear there’s a book on Sage, a project that integrates many Python libraries for mathematical computing into a single context.

Craig Finch’s book Sage Beginner’s Guide provides an easy-to-read overview of Sage. The book is filled with examples. In fact, every topic is introduced by an example. Explanations follow the examples in sections entitled “What just happened?”. Follow-up exercises are provided to solidify the material after the example and explanation.

Someone could begin using Sage without knowing Python. They could think of Sage as an open source Mathematica-like application. But one of the strengths of Sage is that its underlying language is Python. And the Sage Beginner’s Guide has two chapters devoted to the Python language, one basic and one advanced.

Finch’s book is primarily focused on Sage as a whole, not the Python components it integrates. However, it does point out the component libraries that provide certain functionality when either the constituent library conflicts with Sage or can be used to refine Sage functionality.

Sage can be challenging to install. It is not yet directly supported on Windows; the recommended way to use Sage on Windows is to download a Linux virtual machine with Sage installed. I was able to install Sage on Ubuntu but not yet on OS X. However, you can try out Sage without installing it by using Sage online notebooks.

I don’t have as much experience with Sage as with some of its components. As far as I can tell, it’s easy to take your experience from component libraries — say NumPy — and bring it over to Sage. It would be harder to take functionality you discovered while using Sage and use it outside of Sage since, though that is to be expected since part of the value Sage adds is smoothing over the peculiarities of each component library.

To start off, I’d just like to say that I’m a huge fan of your blog and writings. As for Sage,

1. There are binaries ready to go for Mac OS X, and have been for a while now; I’ve had Sage running on my Apple laptop under both 10.5 and 10.6 without any trouble.

2. Though it does use Python as its glue language, Sage doesn’t only incorporate Python components. For instance, it includes Maxima, GAP, Pari, Singular, and others. For a full list, see here. Sage provides a Python interface to all of its pieces, but many/most of those underlying components can be called on their own. Try running

sage –maxima, for instance.Hi,

Nice review. Please do post to sage-support (groups.google.com/group/sage-support) explaining your problem installing Sage on OS X, so we can fix it. A *lot* of the Sage developers (myself included) use OS X as their primary computing environment, so it is very well supported.

— William

Wonderful blog! Glad I discovered it! Keep writing..

I’ve got sage running on my Mac. My preferred environment is the shell. Python is all sorts of wonky on the Mac, so I can understand putting off installing Sage.

Two disadvantages to be books: they’re never free, and you can’t

`Ctrl+F`

.