Sage is a very comprehensive mathematical package. It can run from commandline, in a browser based interface (notebook) or also as a multi user server over the web.
Sage browser based notebook (note the typesetting)
Sage has a very ambitious goal:
Create a viable alternative to the MA's
The MA's are Mathematica, Maple, Matlab and Magma - so this is quite an undertaking!
The philosophy of Sage is "to build the car" and not to reinvent the wheel, so it is build from many - over 100 - existing open source packages. Amongst those are some really high profile packages like Maxima and R. Everything is tied together in a a common build environment, and glued together by a python (numpy, scipy, matplotlib and lots of native sage code) layer which provides a unified interface to all the packages.
Don't reinvent the wheel. (Image created by Martin Albrecht.)
In that respect, Sage is its own meta distribution, because it ships with most of its dependencies and a complete development environment (including mercurial version control - warning: compilers in puppy devx.sfs are still required dependencies, as well as fortran compiler installed). Although the big size of the package - sources are currently around 380 MB - I think Sage is the most interesting open source math project, due to the following reasons:
- Comprehensive capabilities, lots of mature projects "under the hood"
Notebook web interface
You can use sage from servers running on the web
Dependencies included
Good community and project managment
Good documentation, Tutorials
Active support lists and forums
Runs on wide variaty of hardware, from desktop to supercomputer
Multiuser server mode
It has a vision
it makes development and results free and transparent in a true scientific spirit
this is opposed to closed source witchcraft results
I have built sage sfs packages earlier, but I stopped it. The reasons are that the release cycle of sage is rather fast, and with the multitude of different puppy branches (Ubuntu, T2, Slackware) it is impossible to maintain a "one fits all" build.
Instead I have made a series of puppy derivatives (Sage Live CD) on a Lucid 5.11 base (actually shinobars excellent Quickset edition). This might not be bleeding edge, but it provides me a stable base to build on. This Live CD has been the official Live CD for the sage project since spring 2010.
Latest Sage Live CD derivative: Lite version with preconfigured multiuser server
For all other puppies I recommend to build sage from source (on a physical disk like /mnt/home) - despite the size it is one of the easiest systems to build I came across. This gives the additional bonus that sage libraries like linear algebra are built optimized for your processor. Once you have it working it is always possible to upgrade sage from inside to the latest version.
My current developement interests and activities are:
- Making Sage Live CD images
"Sage on Windows"
Making small versions of Sage - "Sage Lite" - just application, no developement.
Building small sage virtual machines on a puppy base (e.g. to use it on windows machines)
Building preconfigured server versions - this involves multiuser and network stuff in puppy.
LINKS:
Sage homepage http://www.sagemath.org
Puppy derivatives: Thread on murga-linux about Sage Live CD and Sage Live CD Project Homepage
Question and answer forum: http://www.ask.sagemath.org