Open Source 'Sage' Takes Aim at High End Math Software
coondoggie writes "A new open source mathematics program is looking to push aside commercial software commonly used in mathematics education, in large government laboratories and in math-intensive research. The program's backers say the software, called Sage, can do anything from mapping a 12-dimensional object to calculating rainfall patterns under global warming."
The site is already very slow, so posting the actual links.
http://www.sagemath.org
http://sage.math.washington.edu/sage
http://modular.fas.harvard.edu/sage
http://www.opensourcemath.org/sage/
http://www.cecm.sfu.ca/sage
http://sage.apcocoa.org
http://echidna.maths.usyd.edu.au/sage
http://sage.scipy.org/sage
Kindness is the language which the deaf can hear and the blind can see. - Mark Twain
I'd say yes.
It's a well-deserved shot a Stephen Wolfram.
(I'm not the same AC who posted the original.)
Sage provides much more functionality than existing FLOSS projects. One of the ways it does this is by making use of those project. For example, Sage comes with Maxima and uses it as an engine to do symbolic calculus type computations. Axiom can be used from within Sage if it is installed as well. Sage also includes GAP, which is the open-source package for doing abstract algebra computations. One of the main reasons for starting a new project was to take advantage of existing projects and tie them together. Also, most of the existing software focused primarily . The lead developer is a number theorist and needed a fast, extensible platform to carry out his research. None of the existing FLOSS CASs provided this.
Speaking of R, we're hard at work getting ready to include R within Sage. --Mike ( a Sage developer )
Since you specifically mentioned Mathematica, I'd like to address some reasons why Sage was created when something like Mathematica exists. While good for some types of problems (calculus, solving equations, etc.), Mathematica is not so good at a number of other ones (linear algebra, abstract algebra, number theory). Many of these are important to the Sage developers who need this type of functionality. Mathematica's programming language is a whole lot less flexible than a "real" programming language like Python. Plus, with Mathematica, you aren't allowed to change the internals -- you're stuck with what you get.
These were all reasons that led William Stein to start up Sage.
--Mike ( a Sage developer )
Well, in addition to including existing software, Sage contains about 200,000 lines of new code implementing functionality not found in the other packages. Many packages have C library interfaces which provides something much different that you'd get with a BASH shell; for example, GMP, GSL, and MPFR come to mind. Even the pexpect interfaces which use a psuedo-tty do more than you can do with a BASH shell. For example, look at the following Sage session which mixes Sage, Maxima (behind the scenes), and Maple:
sage: f = x^2 + x
sage: df = diff(f, x); df
2*x + 1
sage: a = maple(df).integrate(x); a
x^2+x
sage: a+2
x^2+x+2
--Mike
We've discussed this at length. At the present, there is no need to change the name -- there are actually quite a number of projects named Sage.
... and there's actually another SAGE project at the University of Washington (which I can't find a link for) which does something entirely different.
Accounting software
Browser plugin
If any of these present a real problem, we've discussed the name Sage Math -- but there's no reason to change yet.
> I find the packaging of SAGE to be rather arrogant and self-important.
.deb, .rpm's etc., is something that we've always planned
The current packaging of Sage was the most technically efficient way to
accomplish the goals of the Sage project quickly: (1) create a distribution
of math software that builds from scratch on all modern OS X and Linux
installs, (2) create a new library of functionality that ties it all
together and more, and (3) create interfaces to most existing mathematical
software. Creating
to do: see http://wiki.sagemath.org/DebianSAGE
> At first glance it looks like SAGE is millions of lines of source code.
> On closer inspection I find that SAGE is really just several dozen open
> source mathematics packages bundled together in a tarball with the SAGE
> name slapped on it.
Sage is not "just that". It is nearly 70 packages, which took many people
a huge amount of time to get to all build together correctly -- and in many
cases (e.g., linbox, genus2reduction, mpfi, pyrex/cython, Singular, etc.)
Sage developers fixed significant bugs in those packages or made major
contributions; in some cases taking them from being nearly-orphaned research
only systems to serious projects. And Sage is also a huge amount
of new code.
> On even closer inspection I find that there is actually
> SAGE code that appears very worthwhile, additional functionality is provided,
> a consistent interface, etc. However, I'm not going to use it seriously
> because I can't 'apt-get install sage-math'.
That will come later when people who want to apt-get Sage actually put in
the work to make it happen. This is of course happening now and I strongly
support it. I just don't have the time to do it myself.
> SAGE wants me to download
> and install more than 200MB of stuff that isn't going to be handled by
> my OS package management, and it duplicates many of the components I
> already have installed that are handled by my OS package management.
In fact, because SAGE builds completely self contained it will not
conflict with or cause any headaches with anything you have installed.
> Don't make me use your own forked and patched versions of Pari or GAP.
I am certainly not making you use anything.
> I can 'apt-get install pari-gp gap' today(and I already have). I'm
> not going to install your alternative versions and deal with any
> inconsistancies between them. I'm not throwing out the ease of use that
> OS level package management provides to get SAGE. I know many other
> people who aren't going to do it either.
Look, there is nothing whatever about the Sage project or me that is
against mainstream packaging. It's just that Sage is a volunteer project
for which most developers are naturally mathematicians. We simply don't
have the time to maintain Debianizing dozens of packages. Arrogance has
nothing to do with it. I very much hope http://wiki.sagemath.org/DebianSAGE
takes off.
-- William (a Sage developer)