Open Source 'Sage' Takes Aim at High End Math Software 360
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."
Added benefit (Score:5, Funny)
Re:Added benefit (Score:4, Informative)
It being a different type of app is no help: remember Pheonix/Firebird?
Re:Added benefit (Score:5, Informative)
Accounting software [sagesoftware.com]
Browser plugin [mozdev.org]
If any of these present a real problem, we've discussed the name Sage Math -- but there's no reason to change yet.
mod parent up (Score:3, Funny)
Re: (Score:3, Informative)
Re:Added benefit (Score:4, Informative)
Microsoft Excel [wikipedia.org] comes to mind.
MS settled the trademark infringement lawsuit by agreeing to always refer to it as "Microsoft Excel".
Eventually, MS just bought the original trademark owner, thus ending the issue completely.
Re: (Score:3, Informative)
Re:Added benefit (Score:4, Informative)
That said, I think they should be left alone regarding the name. One is unlikely to accidentally purchase several hundred pounds worth of accounting software when you actually meant to download a free mathematical application. Or vice versa. Hence, the trademarks shouldn't be infringed. That said, no doubt it will take many lawyers and many $$ to establish it.
Re:Added benefit (Score:5, Informative)
(I'm not the same AC who posted the original.)
Re:Added benefit (Score:5, Funny)
Re:Added benefit (Score:5, Funny)
Re:Added benefit (Score:5, Informative)
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 [sagemath.org]
> 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 [sagemath.org]
takes off.
-- William (a Sage developer)
12 dimensions... (Score:3, Funny)
Re:12 dimensions... (Score:5, Funny)
Re: (Score:2, Funny)
Go straight to the source (Score:4, Informative)
http://sagemath.org/ [sagemath.org]
Re: (Score:3, Informative)
Mirror links (Score:5, Informative)
http://www.sagemath.org [sagemath.org]
http://sage.math.washington.edu/sage [washington.edu]
http://modular.fas.harvard.edu/sage [harvard.edu]
http://www.opensourcemath.org/sage/ [opensourcemath.org]
http://www.cecm.sfu.ca/sage [cecm.sfu.ca]
http://sage.apcocoa.org [apcocoa.org]
http://echidna.maths.usyd.edu.au/sage [usyd.edu.au]
http://sage.scipy.org/sage [scipy.org]
Re: (Score:2)
Re: (Score:2, Funny)
Re: (Score:2)
Questions from evil mastermind (Score:5, Funny)
I was wondering if the license of this software will allow me to achieve my goals without giving up my principles and secrets?
Re:Questions from evil mastermind (Score:5, Funny)
I was wondering if the license of this software will allow me to achieve my goals without giving up my principles and secrets?
Regrettably in this release, SAGE is somewhat limited and would not meet your goals. Due to some unforeseen limitations, it can only run in Baby Mulching Machines at the moment. However, I believe the next release has worked out these little kinks.
Re:Questions from evil mastermind (Score:5, Funny)
Mulching is one of the simplest and most beneficial things you can do for your home garden. As mulches slowly decompose, they provide organic matter which helps keep the soil loose. This improves root growth, increases the infiltration of water, and also improves the water-holding capacity of the soil.
As any parent can tell you, babies are an excellent source of organic material.
Very Nice (Score:3, Interesting)
Re:Very Nice (Score:5, Informative)
SAS (Score:4, Informative)
What about other math software? (Score:4, Insightful)
Re:What about other math software? (Score:4, Informative)
Sage, on the other hand, focuses on gluing together other packages and uses Python. That means that Sage gets a lot of functionality out of the box that you don't easily get in those other packages. For example, Sage uses Twisted for its web service, Pyrex for native code compilation, Numpy for numerical computations, Vtk for 3D visualization, etc.
Also, Sage can invoke packages like Maxima, Axiom, and Yacas and glue them together with each other and other packages.
It includes them (Score:3, Informative)
Re:What about other math software? (Score:5, Informative)
Re:What about other math software? (Score:5, Informative)
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
Re: (Score:2)
Pretty Graphs (Score:5, Funny)
Pretty enough? (Score:5, Informative)
Re: (Score:2, Informative)
Continuum (Score:5, Funny)
Not new (Score:2, Informative)
What SAGE cannot do is.... (Score:5, Funny)
Re: (Score:2)
Re: (Score:3, Informative)
FLOSS misses the point again (Score:5, Insightful)
This is just like GIMP trying to take on Photoshop. When you're a kid, Adobe prices seem so off-putting that you can't see why people wouldn't flock to the free alternative. When you're doing a real job involving print work, you simply don't think twice about paying Adobe for the required feature set, intuitive UI and better workflow.
So, kids will carry on pirating Adobe or paying a much reduced student price, then paying for it when they go into the real world; and the same goes for Maple, Matlab, Mathematica, or whatever.
Oh, yeah, the whole "open source" thing. Excepting core functionality, some of Mathematica and the majority of Maple is provided in source form. You can whine about needing peer review of implementation at all levels, but how many of you have inspected your CPU's microcode or circuit diagrams? At some point the line is drawn, and you combine a trust in the reputation of your vendor with the fact that usually you're prototyping and modelling. Things will be re-implemented and tested in many ways before your "final product" is out of the door (whether that's theoretical physics or an aeroplane).
Re:FLOSS misses the point again (Score:5, Informative)
These were all reasons that led William Stein to start up Sage.
--Mike ( a Sage developer )
Re: (Score:3, Insightful)
That comment would indicate that you do not know how to program in a functional programming language like Lisp and APL. When ever I see or hear a comment like that and look at the code the person has written, the person has tried to use a functional language as if it was an imperative language.
Re:FLOSS misses the point again (Score:5, Interesting)
--Mike
Maxima vs Mathematica (Score:5, Interesting)
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.
Re: (Score:3, Informative)
Re:Maxima vs Mathematica (Score:4, Insightful)
I don't want to be unfair to the companies I've enquired about this problem by naming them, but I'm often quoted that I would qualify for an academic license which expires within the software after 1 year with no upgrade options for $1000. After a work day I don't have much "time" to learn the software at home and $1000 is steep for the amount of time I would use it. The problem, simply, is that my program at college did not teach me adequately how to use a given software package or I was not taught it but know it is used in the field. If I'm to have several years experience with software to qualify for a job, I'd at least like to say that I know how to use it, but not in the workplace. Is there no solution in this case? I know I am not alone as my friends and colleagues would love to take on some computer software learning time.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Oh, yeah, the whole "open source" thing. Excepting core functionality, some of Mathematica and the majority of Maple is provided in source form.
For now. But since the program is closed source and very expensive, what happens 30 years from now when Wolfram won't give you the version the original result of interest was created on and it's illegal to get it anywhere else? Oh, and the formatting options changed over 30 years so the results look different and you can't tell easily if they're still the same
It's your who is missing the point (Score:4, Insightful)
The point is, mathematics and other research rely more and more on computer algebra systems. Up to the point of including CAS code into proofs of theorems and other research paper. However the point of mathematical proof is that anyone with enough knowledge can follow it and verify it step by step. If commercial closed source software is part of mathematical proof, proof is becoming essentially unverifiable. Mathematical theorem become hostage of software owner. That is a step toward complete privatization of science.
On of the ugliest incident happens then owner of your favorite Mathematica Steven Wolfram claimed ownership of proof of CA rule 110 universalty [wikipedia.org] and obtained a court order preventing researcer from the publishing the proof in the conference proceedings. To publish it as the Mathematica code in his books.
Re: (Score:2)
This is just like GIMP trying to take on Photoshop. When you're a kid, Adobe prices seem so off-putting that you can't see why people wouldn't flock to the free alternative. When you're doing a real job involving print work, you simply don't think twice about paying Adobe for the required feature set, intuitive UI and better workflow.
Yes, real professionals are more than welcome to use Maple. But an avid math amateur like myself is not going to pay the huge fees they ask for once I'm no longer a student.
Re: (Score:3, Insightful)
Re: (Score:2)
Use the Preview Button! Check those URLs!
Re: (Score:3, Informative)
FINALLY! (Score:3, Interesting)
Re:FINALLY! (Score:4, Insightful)
Re:FINALLY! (Score:4, Insightful)
I disagree. Both are important factors. Being able to view all the source is important, but so is having the software available to the 80% of the planet that cannot currently afford it. This could lead to huge advances simply because it opens areas of research to thousands of brilliant mathematicians who make less in a year than the cost of Mathematica.
Re: (Score:2)
I'm sure this project is going to take off like wildfire.
I wouldn't hold my breath. They are already at version 2.8.15, so this doesn't sound exactly like new software to me. Now I'm not exactly in the mathematics field, considering many comments here it's not that well known. On the other hand, they are already at version 2.8.15, which indicates the project is not new so does have a decent support base. Anyway good luck to the developers with it, it seems to be useful for the mathematicians under us.
Debian packages (Score:2)
VisIT (Score:2)
SAGE is an interesting project (Score:5, Insightful)
This is undeniably a practical approach that will benefit many research teams, and I am rooting for its success. My main concern with it is that by using a wide array of libraries/programs to cover broad functionality, it will become difficult to integrate results from one system into the computations of another. Different systems may make different default assumptions (sometimes very subtle ones) that other systems will not be aware of. Efforts like OPENMATH (http://www.openmath.org) that have attempted to define a protocol for exchange of mathematical information between systems have run into this before.
Unfortunately, any proper solution to that problem is likely to be even more work than re-implementing algorithms inside a single environment. A framework for a CAS that could handle such broad scope is a problem (Axiom probably comes the closest right now) so for problems that don't hit the more difficult situations SAGE will be very useful indeed, but it is something to bear in mind.
In the very long term, we need to integrate formal proof software concepts (ISABELLE, ACL2, COQ, etc.) with computer algebra systems in order to be able to trace any calculation back to its axiomatic roots at need - or, put another way, have the system be able to provide upon request correctness proofs of a result. There is a fair bit of literature on that and related topics, but it cannot be denied that the problem is an awesome one. In the meantime, SAGE is a very promising short term (practical) solution to real world problems.
SAGE's developers are also supporters of the idea of open source software in general, which is probably the most important aspect of the whole discussion: http://www.ams.org/notices/200710/tx071001279p.pdf [ams.org]
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. Some researchers would probably have a philosophical objection to that and define any problem human beings cannot solve and verify themselves as a problem where we will always be uncertain if it is really solved. The philosophical questions involved are fascinating for people who like that sort of thing. My take on it is such a system would be useful and is worth looking into.
SAGE is more pragmatic in its orientation, but that means for many (most?) people it is a project to watch and probably a product to use. Here's hoping they can build increased momentum!
Re:SAGE is an interesting project (Score:4, Interesting)
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).
good idea (Score:2)
SAGE gives you easy access to documentation and source code. Type plot? for help on the plot command and plot?? to see the source code.
This should be used in all free software, from Firefox to KDE and from bc to cp. The user should be able to have a more direct access to source code to encourage more people study it and hack it. If Firefox users could move their mouse over a button and right-click and select "view source" to see the actual source code generating the button or the called methods, perhaps more people would feel more inclined to contribute to free software.
Re: (Score:2)
Maple source is viewable (Score:2)
There are some packages that are called by Maple that are closed source. For example, Maple calls the NAG Numerical Libraries [wikipedia.org] for a substantial amount of its numeric computations; the NAG routines are closed s
Around what? (Score:2)
The Sage Notebook (Score:2, Interesting)
To be completely honest (Score:2)
Re: (Score:2)
Matlab (Score:4, Interesting)
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...
Can I focus on my work? (Score:3, Insightful)
However, I tried out Numpy/SciPy about a year ago and again about an hour ago after I saw this article. I was hoping Sage would provide an "intersection" of sorts for Numpy/SciPy/VTK/R/Octave/etc. At least, that was my major issue about a year ago. There was so much disconnect I spent more time reading documentation and Googling than anything else. Alas, today was the same thing all over again.
One of the most common things I do in Matlab is solve Ax=b. So I made my 'A' matrix (3x3), my 'b' vector (3x1) and tried a "linalg.solve(A,b)". No dice. I got 2 blocks of Python error messages (yes, I checked my matrix dimensions and made sure I was using Matrix and not an array). The "final" error was something about "an undefined shape attribute in my b vector". Uh... yeah. I played with it for about an hour or so and then deleted it.
What has been done so far has promise, I think. But it needs to mature a lot more. In its present state I was left slightly annoyed with trying unsuccessfully to do something as simple as least squares regression.
Again, this problem goes to the heart of the issue. I have to be able to focus on my work. Matlab has issues for sure. But when I dont know how to do something in Matlab, or I hit a snag, 90% of the time Im "back to work" in ~5-10 minutes max. I'll check it out again in a year or so. Until then, Im using Matlab. Sorry.
Re:Can I focus on my work? (Score:4, Informative)
sage: A = random_matrix(ZZ, 3)
sage: A
[ 1 3 -1]
[-2 2 4]
[ 2 -1 -1]
sage: b = vector([3,2,1])
sage: b
(3, 2, 1)
sage: x = A \ b
sage: x
(14/11, 9/11, 8/11)
sage: A*x
(3, 2, 1)
--Mike
Re: (Score:2)
Isn't it more a philosophical issue than a mathematics issue?
I think the difference may be execution vs. underlying operation. I'd say that software is an algorithm, but those that don't program it wouldn't know that.
Re: (Score:2, Interesting)
Re: (Score:3, Insightful)
I've always disliked that argument (Score:2)
Always sounded to me like saying that all works of literature are, are arrangements of words. And all words are public domain. The dictionary is prior art. So books shouldn't be copyrighted.
Algorithms IMHO are simply the words and sentences you use to make software, which is akin to a work of literature. At least it seems that way to me, anyways.
If we're going to beat software patents, i
Re: (Score:2)
Re: (Score:3, Insightful)
Why is this flimsy? It doesn't follow. If algorithms are like books (which
Re: (Score:3, Insightful)
Re: (Score:2, Interesting)
Re: (Score:2, Insightful)
GIMP's no good for commercial artwork (Pantone swatches and CYMYK and whatnot)
I can't comment on Inkscape.
They're more "challenged" than a challenge to commercial programs.
Re: (Score:3, Insightful)
Quite often, an interface that is intuitive for a beginner is an untold frustration to an expert. It might even be argued that an interface that is too focused on beginners will tend to keep them beginners rather than rewarding increased learning.
I can't say from personal experience though - I've only done a couple simple models in Blender using very crude means. I found i
Re: (Score:3, Insightful)
I'm told Blender's interface is only difficult until you climb the learning curve -then it starts to make sense and is very productive.
Quite often, an interface that is intuitive for a beginner is an untold frustration to an expert. It might even be argued that an interface that is too focused on beginners will tend to keep them beginners rather than rewarding increased learning.
I've heard that a few times, and it's pretty much the defintion of a poor UI. Almost everything from the command-line to the most obscure submenu dialog is "effective" if you know exactly where to go and what buttons to push, and it "makes sense" only by familiarity. Apart from a few systems that just don't want to make complexity available (read: Gnome), most such systems can be used very effectively, if you can memorize fifty keyboard shortcuts or configure up your own shortcuts, favorites toolbar etc. G
Re:another one bites the dust (Score:5, Insightful)
The question of whether someone will stick around long enough to learn the software is less one of usability than it is one of marketability. I make no statement about the relative importance of usability and marketability.
But what is the goal of the marketing? (Score:3, Insightful)
But what is the goal of the marketing? To increase the consumption of bandwidth, or to put free software into actual use outside of an evaluation scenario? If a user downloads Blender, says "fuck it" after going through the first tutorial, and then goes and pirates something, what has anyone accomplished?
Re:another one bites the dust (Score:4, Interesting)
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.
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.
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.
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.
Re: (Score:3, Informative)
Sorry, CMYK. Should learn to use preview.
With all due respect, I've done CMYK separation in GIMP. No, it doesn't come with the default install, but it is too obvious an extension not to float around out there as a free download.
As far as I recall, all I did was google "gimp cmyk" or some such. Downloaded some gizmo that had to be placed into some directory. Had to download some profiles from Adobe or something. And then the rest "just worked". Total investment maybe 30 minutes of time.
Now when was the last time you tried to do something that
Re: (Score:3, Informative)
Re:another one bites the dust (Score:4, Informative)
Re:another one bites the dust (Score:4, Informative)
Re: (Score:3, Insightful)
Granted, the requirements for correctness are extreme. But I think open-source people could organize very good code reviews and tests. Properly organized, in the long run I think the risk of metric/imperial confusions, premature triggerings and the like would be much smaller with a FOSS approach.
A link for you (Score:5, Insightful)
Nasa open source [nasa.gov]
Re: (Score:3, Funny)
Houston, we got a problem here
"What is it Orion-3?"
We're trying to decelerate for lunar orbital insertion but when we try to fire the thrusters, a little box pops up that says "Null pointer dereference at 0x00045fe3342a"
"Wait, I'll check Sourceforge"
...
"Nope, looks like that's a new one. I submitted it through Bugzilla and changed the priority to '9'..."
Re: (Score:3, Interesting)
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
Commercial vs Free (Score:3, Interesting)
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 als
Re: (Score:2)
Re: (Score:2)
Re: (Score:3, Interesting)
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 goo