Forgot your password?
typodupeerror

Open Source 'Sage' Takes Aim at High End Math Software 360

Posted by CmdrTaco
from the that'll-take-awhile dept.
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."
This discussion has been archived. No new comments can be posted.

Open Source 'Sage' Takes Aim at High End Math Software

Comments Filter:
  • Very Nice (Score:3, Interesting)

    by lansirill (244071) on Saturday December 08, 2007 @09:30AM (#21623711)
    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.
  • by Anonymous Coward on Saturday December 08, 2007 @09:51AM (#21623863)
    The thing is...programs are algorithms at their core, but to the user...well, a UI makes all the difference. And often the UI is a product of creativity. I mean, take Google, for example. Visiting their page auto-focuses you to the search box. I find this *tiny* feature to be incredibly useful as I can leave my hands on the keyboard and continue typing, yet that's not something a computer program would have generated. The part that is exposed to the user requires creativity to conceptualize and implement. I don't think that should be completely free of any copyright restrictions.
  • by Goaway (82658) on Saturday December 08, 2007 @09:51AM (#21623865) Homepage
    Decent graphics software, apparently.
  • FINALLY! (Score:3, Interesting)

    by yamamushi (903955) <yamamushi@nOSpAM.gmail.com> on Saturday December 08, 2007 @10:03AM (#21623943) Homepage
    I think a lot of us can agree that open source software like this should have been developed YEARS ago, so I'm glad to finally see a good alternative to MATLAB and Mathematica out, I was getting kind of tired of pirating my Mathematica software. Plus with the added benefit of being scripted in Python, I'm sure this project is going to take off like wildfire.
  • by hweimer (709734) on Saturday December 08, 2007 @10:32AM (#21624101) Homepage
    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 [osreviews.net] and have not regretted it.
  • The Sage Notebook (Score:2, Interesting)

    by mhansen444 (1200253) on Saturday December 08, 2007 @11:34AM (#21624531)
    One nice feature that Sage has is its web-based interface -- the Sage Notebook. This inteface was designed with the Google documents interface in mind in terms of sharing and collaborating on worksheets. The Sage notebook also provides a web-based interface to most every piece of math software out there (so long as you have it installed on your computer): Maple, Magma, Mathematica, Matlab, Axiom, Maxima, Octave, Macauly2, Singular, etc.. Or, in one workshhet, one can have one cell be a Mathematica cell while the next one be a Maple cell. This interface does not depend at all on the math functionality of Sage.

    This is one area which could use some help from a web developers familiar with Python and AJAX -- a background in math is not needed at all. Eventually, we'd like to split off the interface into its own project since it pretty useful on its own.

    --Mike
  • by module0000 (882745) on Saturday December 08, 2007 @11:39AM (#21624577)
    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".
  • Matlab (Score:4, Interesting)

    by Liquid Len (739188) on Saturday December 08, 2007 @11:42AM (#21624601)
    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 [scilab.org] 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...
  • Commercial vs Free (Score:3, Interesting)

    by sjbe (173966) on Saturday December 08, 2007 @11:47AM (#21624647)

    Is there any category of commercial software that can't
    be challenged by free software?


    Theoretically no, but in reality probably yes.

    There are some applications that are simply very difficult to make work in an open source or free software model. CAD software comes to mind immediately. Creating a CAD system is highly specialized, requires serious math skillz, and the end application is large and complicated (on par with operating systems or top tier database software) so a good team is required. There also are likely to be patent issues to work around as well. From a user's perspective changing CAD systems has VERY VERY high switching costs, require a LOT of training, and the user bases are quite small. Sure there are a few free/open-source CAD packages out there but they are toys compared with CATIA or ProEngineer or even AutoCAD. Don't get me wrong, lots of firms would love to not have to spend huge $ on an expensive 3D modeling package like CATIA. It costs a bloody fortune. But there just aren't enough programmers out there with the right skills and the itch to create a CAD package that will replace the commercial stuff any time soon.

    Games seem to be another area where free software struggles to challenge commercial offerings. High development costs, small group of available programmers, requires artistic/creative skills not widely possessed by programmers, and other reasons besides.

    Basically, the more specialized the software or the more artistic content required, the more difficult it seems to be to develop under a free model. Not impossible mind you, just more difficult; sometimes to the point where it is not practical even if it is theoretically possible.

  • by slawekk (919270) on Saturday December 08, 2007 @12:41PM (#21625075) Homepage

    we need to integrate formal proof software concepts
    I am very happy to hear that. Maybe this will result in a decent authoring and presentation tool for Isabelle. Mathematics is not about calculations, it is about theorems and proofs. I would not call any software "math software" if I can not do math with it (i.e. write a proof and verify it). This is not to criticize Sage which I consider an awesome piece of software engineering, mostly because of using existing excellent tools rather than inventing its own.
  • by mhansen444 (1200253) on Saturday December 08, 2007 @12:54PM (#21625195)
    Math software, like Sage, is incredibly useful for coming up with and testing conjectures. Before you can prove something, you need to know what you want to prove. For example, in some of my research, the direction we went was primarily driven by computational results, which led to conjectures, which in turn led to theorems and proofs. I've looked at Isabelle, and it looks to be a long way off from being able to help with the math that I'm interested in.

    --Mike
  • by xtracto (837672) on Saturday December 08, 2007 @12:54PM (#21625197) Journal
    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.

    So, is there something that Sage does that can not be achieved by a BASH shell?
  • by ortholattice (175065) on Saturday December 08, 2007 @01:06PM (#21625303)

    It may be argued that computers are not really an appropriate tool when truly "correct" mathematics must be relied upon. My response to that is that as problems of interest become ever more complex, limitations both of the human mind and the human life span will ultimately limit the problems we can solve unaided. The task for us now is to create a system we CAN trust to solve problems correctly, because someday we will have to trust it to solve problems we cannot handle.

    There is a mathematical proof verification language, Metamath [wikipedia.org], 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 [wikipedia.org], 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 [metamath.org] has 23,000 steps from ZF set theory axioms, and the computation of cosine of 2 [metamath.org] 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).

  • by MonaLisa (190059) on Saturday December 08, 2007 @01:12PM (#21625355)
    Mathematica is quite good at linear algebra, actually. Not such a great group theory tool, but I have used it for a lot of number theory projects. I paid $75 for a Mathematica license (as a grad student) and it's definitely worth that much to me. It is a very nice tool for a lot things, but not everything. When I need to do a group theory calculation, I use GAP. When I need to do some complicated commutative algebra calculation, I use Macaulay2. I think SAGE is cool and all, but they are all just tools to do research, and I'll use whatever I can get my hands on to get the job done as fast as possible. Also, Mathematica as a programming language is really more of a pure functional language that is every bit as flexible as your "real" programming languages. If I need to use a "real" programming language, it is for speed, in which case C++ is much faster than Python and all those "real" programming languages.

  • by mhansen444 (1200253) on Saturday December 08, 2007 @01:45PM (#21625645)
    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/ [cython.org] ) which is almost a superset of Python and compiles down to C.

    --Mike
  • by 99BottlesOfBeerInMyF (813746) on Saturday December 08, 2007 @03:15PM (#21626363)

    Blender is a user interface nightmare.

    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.

  • by William Stein (259724) <wstein@gmail.com> on Saturday December 08, 2007 @03:24PM (#21626443) Homepage
    > 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/ [washington.edu]

    that is, if it hasn't been slashdotted into oblivion already!

      -- Willam
  • by Anonymous Coward on Saturday December 08, 2007 @03:53PM (#21626675)
    There is F/OSS software being used in spaceflight. RTEMS is an Open Source RTOS that's being used in flight applications, for instance.

    There ARE some practical issues, though..
    1) flight software applications are usually not "ground up creations from scratch", but, rather, inherit a LOT of their code from previous go-arounds (it works, don't break it). That "known good code" might well be closed source

    2) flight software might be subject to export controls and ITAR (i.e. it's a munition). The same software that might control a science probe to the moon could also control a re-entering ICBM warhead. (this is probably the biggest issue with releasing code)

    3) In a schedule critical development, one might not to wait for a F/OSS developer to need to scratch that particular itch. So you have to pay a developer or contracting firm to develop the software. That firm may wish to use their (closed source) libraries, or might see some downstream profit potential from the development in other markets. That closed source profit potential might be orders of magnitude greater than what a space mission is willing to pay for the software.

    4) Those F/OSS toilers in the bazaar might not want to work in the rigorous schedule and configuration control environment needed for flight-critical code development. Your Mars launch opportunity only comes once every 2 years or so.. no time to follow the latest interesting branch.
  • Re:Added benefit (Score:1, Interesting)

    by Anonymous Coward on Saturday December 08, 2007 @05:55PM (#21627409)
    This isn't a comment about William in particular, but I find the packaging of SAGE to be rather arrogant and self-important. 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. 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'. 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. Ten years ago I may have put up with the headaches this is bound to cause, but not today. Get SAGE packaged if you really want people to use it. Don't make me use your own forked and patched versions of Pari or GAP. 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.
  • Re:Added benefit (Score:1, Interesting)

    by Anonymous Coward on Monday December 10, 2007 @08:39PM (#21650491)

    ...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.
    You are taking packages that have already been Debianized and are Sage-ing them. The work to Debianize GAP, PARI/GP, and R has already been done. These packages are already maintained in Debian and on other operating systems. I would think you would want to leverage that work. It looks like you are underestimating or overlooking the benefits and time savings that integration with the distributions can provide. In short, I think you are making things hard not only on your users but also on all of the Sage developers. I don't understand what would motivate you to take on the responsibility of building and distributing millions of lines of source code, most of which is already distributed via other means.

Everyone can be taught to sculpt: Michelangelo would have had to be taught how not to. So it is with the great programmers.

Working...