Hey everyone,
After spending some time experimenting with Mathematica, Maxima, and Sage, I’ve finally decided to use Sage as my primary computer algebra system (CAS)! In short, computer algebra systems act like high-performance calculators, and their primary strength lies in the fact that they can manipulate mathematical expressions in symbolic form. Sage, in particular, has several benefits over Mathematca:
1) Sage is open source software, which means you can freely download, modify and distribute its source code. Mathematica, on the other hand, is proprietary software and a home license costs $300. If you want to use it for work, it’s a whopping $2500 for an individual license – and you can only install it on one machine. With Sage, it’s affordable, you don’t have to pay more for newer versions, and the fact that it’s open source means you can actively participate in the development community.
2) Sage uses Python. Python is a free programming language and it’s very easy to learn. If you already know Python, you won’t be bogged down learning a new language just to use the software.
3) Sage includes Maxima. Sage is actually made out of more than 90 different mathematical packages – one of which is Maxima – all integrated under a single interface with which you can communicate using only Python. For example, Maxima is written in Lisp, so you would have to learn some of it to become proficient with the program. However, if you use Sage, you can utilize Maxima even if you only know Python.
Sage, released in 2005 is relatively new compared to other CAS programs and still has a lot of raw edges. Known bugs and tasks that need to be completed are posted online and users are free to take on these challenges. I picked up a new, much, much, much needed book, the Sage Beginner’s Guide, which should give me a basic working knowledge of the program. I first tried installing Sage on my Linux machine about 3 years ago, and when I tried doing it then it took a lot of effort and a lot of command-line agony to get it to start working. Now I would say that the package has gone a long way, though it still doesn’t work on Windows. If you want to use it on Windows, you must install a Linux virtual machine using either VirtualBox or VMWare. Right now I have 3 cores and about 4 GB of RAM dedicated to a virtual machine set up on Fedora Linux – from there you can run Sage from your browser:
Here are some examples of what Sage can do from the book – we plot 2 functions and place labels at their solutions. The following code:
Produces the following image:
Also, the following code:
Produces a 3D plot of a Klein Bottle:
Sage can also display results in symbolic form:
Here, Sage instantly calculates the above partial fraction decomposition. Anyone want to try it by hand?
I’m totally hooked. Sage, which is totally free, is extremely powerful – much more powerful than any expensive HP or TI calculator on the market. Right now Mathematica, Matlab, and Maple are more complete software packages that come with professional support, but they come at a cost. However, I think Sage can be the real Mathematica killer, similar to the way that R is currently eating into the market share of SAS – Sage, which is headed by professor William Stein of the University of Washington, is currently under active development by computer programmers and mathematicians all around the world! Check out the Sage website if you want to get involved. The era of extremely high-priced software can only last so long…