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."
I haven't had a chance to play around with this yet, but if it's as good a replacement for Mat* as R is for S+ and SAS, I'm quite happy to see it. I'm sad that I'll probably never be able to touch it unless I change my job as I've been told it would, quite literally, require an act of Congress to allow us to use anything other than SAS for our work. It will still be great to have access to a (hopefully) well documented library of algorithms that I can tear into, instead of trying to cobble together things that seem good to me at the time. Huzzah, hip hip, and all those fun things.
But I use Mathematica because it is full of functionality, fairly reliable, and has a very elegant programming paradigm. Also, as a student, it'll cost me $100-150, depending on where I live, for the lifetime of my studentship, assuming no site license; the kinds of business that run this software commercially really don't care too much about a $2500 license fee.
Free software isn't about price -- it is about freedom. One of the research groups at my university cannot use Mathematica since a few weeks because the license expired, and neither renewing the license nor contacting tech support has so far brought a solution.
Another no-go is that Mathematica 6 notebooks are not compatible with Mathematica 5 notebooks. Also, the unwillingness of Wolfram to timely fix bugs leading to wrong results is unacceptable. I could go on ranting like this, but recently I have completely switched to Maxima and have not regretted it.
OS Reviews: Free and Open Source Software
Sadly yes, there is a type of very expensive commercial software who's market is unable to be challenged by free software.
That market is custom database design: it's where your company pays $10,000 per license of some "cutting-edge" VB6.0 front-end to a MS Access database file because it has been completely customized to their business model. They are rampant with bugs, bag programming procedures, and hidden [usually annual] costs.
Doesn't look like it's going anywhere either, until corporate purchasing mindsets evolve from "price = value".
Trackball users will be first against the wall.
I work in Europe, as a researcher, and two and three years ago, the Mathworks (the company behind Matlab) decided we weren't eligible to research/education prices anymore. They did the same with a bunch of other institutes (in Europe, I don't know about the US). We operate an experimental reactor, whose control is largely based on Matlab programs. Some of these were developed a long time and people left, or retired. There's a lot to be said about the way this was handled by our management, but that's the way it is. So, we had to admit we were screwed, having to pay the price. We met with the Mathworks representatives, and I have to say all I saw a bunch of arrogant jerks.
Anyway, since then, we've renewed our licences every year, and we've been looking for an alternative. We even tried to migrate the whole lab to Scilab but that didn't work out (mostly because of the limited capabilities of Scilab in scientific plotting and GUIs). Some of us use Python + Matplotlib (I'm a big fan), some (often the same people) use Octave. Although we've converted some individuals, we weren't able to find a software which could be used by everyone in the lab as a substitute to Matlab. This is frustrating, as the vast majority of people here use only a fraction of the capabilities of Matlab.
I for one, would be really happy if we had something to replace Matlab, be it Sage or whatever else...
There is a mathematical proof verification language, Metamath, whose rigor and/or correctness (meaning freedom from bugs) are probably near the top, if only because (1) the proof language is trivially simple and (2) as a result half a dozen independently written proof verifiers have been coded, in C, Haskell, Python (300 lines of code), Java, Lisp, and Lua, so the likelihood they all have the same bug is pretty small. It stands in contrast to some other proof verifiers or theorem provers that embed complex internal algorithms and tend to be very large programs that would be hard to formally verify for correctness - and in some cases are closed source (like Mizar, which BTW probably has the largest body of mathematical knowledge developed for it).
A problem with Metamath is that it is very labor-intensive to develop proofs. The proof of 2 + 2 = 4 has 23,000 steps from ZF set theory axioms, and the computation of cosine of 2 to one decimal place has some 75,000 steps that take several seconds for the verifier to verify. All of these steps were entered by hand (although once a collection of theorems are developed they can be reused, so proofs become easier as a body of knowledge is developed). All of these steps are absolutely, rigorously correct - assuming that at least one of the independent verifiers has no bugs. Unlike a 75,000 line computer program, there is no such thing a a bug in the proof - a proof is either right or wrong (i.e. not a proof).
When I meant not good at linear algebra, I meant that it is slow. For example, Sage is over 30x faster at computing the characteristic polynomial of a matrix over the integers. Regarding number theory, there isn't really any support in Mathematica for working with number fields, modular forms, or elliptic curves. What I meant by "real" programming language was that there is a lot of software out there that can be taken advantage of. Say for instance I need to work with data stored in an relational database. How easy is that to do with Mathematica? It is trivial with Sage since Sage uses Python. When Sage needs to do things fast, it uses Cython ( http://www.cython.org/ ) which is almost a superset of Python and compiles down to C.
--Mike
Blender is a UI for advanced users. It has very poor learnability, but I've heard it is a very good UI once you are used to it. I haven't seen any usability studies though, so it is just hearsay.
GIMP's no good for commercial artwork (Pantone swatches and CYMYK and whatnot)I have used GIMP for commercial work for years and it has been the best tool on the market for certain uses, especially large automated batch jobs that are beyond Graphics Converter. More recently, Pixelmator may have taken the title away from them, but to call GIMP "no good" in a commercial environment is just wrong. It is used a lot in certain segments, although it can't compete with Photoshop for one off photo touch-ups and that sort of thing.
I can't comment on Inkscape.Inkscape is pretty decent and a reasonable Illustrator replacement for many projects. The main drawbacks I have with it is for Visio type work it is not well suited, and support on the Mac (where realistically most pro graphic artists work) is very weak.
They're more "challenged" than a challenge to commercial programs.I disagree. Most of them are focused on different parts of the market than commercial competitors, but all of this software is probably the best for some uses.
> The success of Sage won't be determined by how powerful it is.
The success of Sage with research mathematicians may be determined by how
powerful Sage is, but you're right -- the success for 99% of users won't be
determined by that.
> As others have observed, it is largely a mashup of existing stuff.
> Its success will be determined by how easy it is to use. If someone
> can put together some decent documentation
We have many people in the development team who are really very interested
in writing good documentation (and who write published mathematics books as
part of our jobs). For example, the author of "Adventures in Group Theory:
Rubik's Cube, Merlin's Machine, and Other Mathematical Toys" is
one of the main Sage developers (he's coming out with a new version of the
book that uses Sage soon).
> and a semi-intuitive UI, it will take off.
From the start we've had many undergraduates with a software engineering
background involved in the project and they have helped immensely with
the browser-based GUI (which one can use locally -- no need to be online!).
Also, us "professional mathematicians" -- even the ones that use mainly FOSS --
really do greatly value having a nice GUI. You might be able to try
out the GUI right now here:
https://sage.math.washington.edu:8101/
that is, if it hasn't been slashdotted into oblivion already!
-- Willam