X
Business

Sage - not a piece of cake, but powerful and open

Developed at the University of Washington, with contributions from mathematicians worldwide, Sage is a relatively new open-source tool designed to supplant proprietary mathematical analysis programs like Maple, Matlab, and Mathematica. All of these programs are mainstays of most mathematicians' toolkits, but have recently come under scrutiny because of the black-box nature of their calculations (see "Why mathematica violates basic rules of math conduct").
Written by Christopher Dawson, Contributor

Developed at the University of Washington, with contributions from mathematicians worldwide, Sage is a relatively new open-source tool designed to supplant proprietary mathematical analysis programs like Maple, Matlab, and Mathematica. All of these programs are mainstays of most mathematicians' toolkits, but have recently come under scrutiny because of the black-box nature of their calculations (see "Why mathematica violates basic rules of math conduct").

Sage is a fairly quick download and is available for Windows, Mac, and Linux (32- and 64-bit). Source code is available, but the software installed without any trouble on my 64-bit Kubuntu laptop. Users can interact with the software via the command line, compiled programs written in python, or an included Javascript/Ajax application that allows so-called notebooks to be run in a Firefox window. The software can also be run locally or remotely on most web servers.

The interface is customizable as well in that users can enter commands using syntax from Maple, Matlab, Maxima, etc. Unfortunately, although I was able to get the program installed and running quickly, the online tutorial was buried in traffic, so serious testing wasn't an option this time around. However, if Sage lives up to its billing, it could represent very serious cost savings over proprietary software, licensing for which frequently runs in the millions of dollars. According to the main notebook screen,

SAGE is a different approach to mathematics software.

The SAGE Notebook With the SAGE Notebook anyone can create, collaborate on, and publish interactive worksheets. In a worksheet, one can write code using SAGE, Python, and other software included in SAGE.

General and Advanced Pure and Applied Mathematics Use SAGE for studying calculus, elementary to very advanced number theory, cryptography, commutative algebra, group theory, graph theory, numerical and exact linear algebra, and more.

The real power of Sage appears to lie in its ability to handle programs written in Python, again untying math students and researchers from proprietary interfaces and languages. Of course, this also means that you need a working knowledge of Python. This program is not for the faint of heart, but if you're studying Euler's method for systems of partial differential equations (something you can do with Sage), then your heart is probably not all that faint anyway. I'll report back as I try to replace Maple on my Master's thesis work with Sage and let you know just how painful (or, hopefully, painless and powerful) it is. For now, anyone with experience in Sage, talk back and let us know what you think.

Editorial standards