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."
Plus, its creators' heads can probably fit through normal-sized doorways.
but I thought Doc only just figured out the 4th.
Downloadable for Linux, Mac, and the other one:
http://sagemath.org/
As an international evil mastermind I have numerous plans which require advanced mathematical calculations and simulations to be performed (wiping out the human race, transmogrifying all kittens into war machines, etc - the usual kind of stuff).
I was wondering if the license of this software will allow me to achieve my goals without giving up my principles and secrets?
liqbase
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.
How does sage compares with other mathematics FLOSS like maxima, axiom and yacas? Another question is how come they opted to start a new project instead of contributing to other already established projects?
Slashdot, fix your code or at least hire someone who is competent at it to do it for you.
yeah, but can it do pretty graphs? Everyone knows that's what people are looking for: pretty 3D graphs.
Watch the Teaser Trailer for "The Lightning Thief" Her
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
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.
Decent graphics software, apparently.
SAGE has been around for a long time. Will Stein's homepage seems to be down -- possibly slashdotted -- so I can't tell the exact date, but it's certainly been in existence at least since 2004.
I'd say yes.
.... calculate the slashdot effect.
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).
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.
- Aetheral Research -
It includes maxima and a lot of other packages. It seems to me that Sage is an attempt to glue together the various existing free math packages using Python. I'm not sure what I think of it, it makes it somewhat confusing to get started with because it does so many different things.
You need to learn about the difference between copyright and patents.
There's a few left. Mainly the software for specialist things. CAD, graphics, audio, video.
Real video editing software, probably. Real finance software (corporate, not quicken!), real HR software - stuff that has to follow specific regulations on a schedule. And there really isn't a replacement for autocad that a mechanical or civil engineer, or an architect is going to run out and install. Medical applications would be difficult for some of the same reasons as the finance software. And real enterprise email/calendaring and the archiving/retention software to go with it. There aren't any open-source email packages that you could actually use to replace Exchange/GroupWise /Notes in a corporate, healthcare, government and even education. There are pieces, but nothing it would be worth your job to try to sell your organization on.
Blender is a user interface nightmare.
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.
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
It doesn't have to do with the boss. Certain industries require SAS. No, there's no way to hide the fact you didn't use SAS. You can do the work at first with another product, but you need to submit SAS code that allows others to reproduce results.
What a fool believes, he sees, no wise man has the power to reason away.
I am not personally involved with SAGE, but I know a little about it. Rather than being a totally new system in all respects (although there is certainly new code created for it) SAGE attempts to make use of the plethora of existing open source systems available already and provide a unified interaction environment for them. As it says above, SAGE takes aim at the functionality offered by commercial systems.
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
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!
"I object to doing things that computers can do." -- Olin Shivers, lispers.org
I don't think there are any FOSS spaceflight applications. Which is odd, I'd expect lots of people would be thrilled to be part of that.
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.
Terrorists can't threaten a country's freedom and democracy. Only lawmakers and voters can do that.
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 can't say from personal experience though - I've only done a couple simple models in Blender using very crude means. I found it acceptable, but clearly something you needed to spend time with to get the hang of. That's inherent in complex tasks.
The point here is not workflow or intuitive UI.
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 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.
Luckily the vast majority of the companies, even the vast majority of the employment, falls in the small and medium enterprise segment. The less-than-ten-people businesses. There things work differently. And for those companies OSS is commonly good enough, and many fancy features are simply not used because they are too cumbersome. Like calendaring, I don't even use it for my personal work. Too inconvenient as it is tied to my computer.
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
Took 5 seconds with google, mostly because I type slow and am on dialup
Nasa open source
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...
I agree, and yes: I use this software. Albeit I use Blender badly..the rest I use extensively.
GIMP I can use like the back of my hand, replicating most work done in Photoshop..but every time I've tried to recommend it to a friend or co-worker: it ends in "this is too hard, I can't find anything". Alot of this could be blamed on new GIMP-users being so accustomed to Photoshop, but there is still a fair portion of blame on bad UI-design. I think I heard some time ago about a fork of GIMP specifically to create a more Photoshop-ish UI, but the name/link of it escapes me...anyone?
Inkscape is great, I have only 1 complaint, and that is it's inability to open native Adobe Illustrator file formats. Other than that, Inkscape is a truly top-notch vector graphics package.
Trackball users will be first against the wall.
One example that comes to mind is Scilab vs. Matlab. Scilab does everything my students need to do. On the other hand, the man pages are a nightmare if you aren't already a mathematician. If my students want to get some filter coefficients, Matlab is a lot friendlier and easier to use because the tools have a gui frontend.
If you're an expert, it doesn't matter whether you use FOSS or commercial. FOSS is often just as powerful. If you are clueful about math and programming, you don't need Photoshop or 3D-Studio. The problem is that most graphic artists shouldn't have to also have a math degree and a computer science degree.
Another example would be Ubuntu vs. Gentoo. It could be argued that Gentoo produces a much better installed system. On the other hand, it could also be argued that 99.99% of people are much better off with Ubuntu.
The success of Sage won't be determined by how powerful it is. 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 and a semi-intuitive UI, it will take off. Otherwise, I can't see much reason for most people to use it.
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.
Kitten are (...) impervious to all types of magic, including magic cast by flapjacks. Physical combat is ineffective againts them, so the only conceivable way to defeat a kitten is to trap it in a laundry basket.
Sources and further reading: http://uncyclopedia.org/wiki/Kitten#Kitten_Feeding_Behaviour
Medium cat is MEDIUM.
Indeed, try looking at Maya's interface sometime. It is extremely clunky feeling. Even as a beginner, I liked blender's UI more.
Why is this flimsy? It doesn't follow. If algorithms are like books (which the GP argues), algorithms should fall under copyright (which they do). If this argument is flimsy for software patents, what does this imply for book patents?
There's a world of difference between copyright and patents, and the OP is transferring arguments from one domain to another. If books were patentable, this would make sense. Now it's weird.
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. Granted, you can't reduce away complexity but if you set users in front of your application, ask them to perform a task and they're all looking in the wrong place the UI sucks. No ifs or buts about it, that means it's not intuitive where the functionality is. And honestly... finding a way to let experts access advanced/obscure functions in an otherwise easy and intuitive interface is 2% of the job. Just admit you're too lazy to do the 98% of the job creating the easy and intuitive one.
Live today, because you never know what tomorrow brings
You suggest optimizing for one quality of user interfaces- "discoverability". But that's certainly not the only user interface design objective. Asking about the user experience after the interface has been learned is quite appropriate, because that's the circumstance that the user will spend the vast majority of their time in, assuming they've stuck around past the learning phase.
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.
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 wasn't built-in with a commercial piece of software and the fix was as easy as that?
As far as I can tell, that's where the value of F/OSS really lies. It's not the "price" (GIMP is only 'free' if your time is worthless) but the enormous flexibility that arises from letting anybody who cares modify (i.e. improve upon) the tool you're using.
We're all born with nothing.
If you die in debt, you're ahead.
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'..."
We're all born with nothing.
If you die in debt, you're ahead.
nt
The logical error was in Weaselmancer's post ("books are copyrightable so software should be patentable") not in NoOneInParticular's reply.
The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
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?
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.
Since the Sage servers are being hit pretty hard, here are torrents for the files.
http://www.mwhansen.org/sage-2.8.13-use_this_on_sage_dot_math-x86_64-Linux.tar.gz.torrent
http://www.mwhansen.org/sage-2.8.13-x86_64-Linux-debian.tar.gz.torrent
http://www.mwhansen.org/sage-2.8.15-debian32-i686-Linux.tar.gz.torrent
http://www.mwhansen.org/sage-2.8.15-debian64-x86_64-Linux.tar.gz.torrent
http://www.mwhansen.org/sage-2.8.15-osx10.4-intel-i386-Darwin.tar.gz.torrent
http://www.mwhansen.org/sage-2.8.15-osx10.4-ppc-PowerMacintosh-Darwin.tar.gz.torrent
http://www.mwhansen.org/sage-2.8.15-osx10.5-intel-i386-Darwin.tar.gz.torrent
http://www.mwhansen.org/sage-2.8.15-rhel-32bit-i686-Linux.tar.gz.torrent
http://www.mwhansen.org/sage-2.8.15.tar.torrent
http://www.mwhansen.org/sage-2.8.15-ubuntu32bit-i686-Linux.tar.gz.torrent
--Mike
That is the question. What makes Matlab so great (for me at least) is that I can sit down and just work. I dont have to fight with the syntax. I dont have to fight with the documentation. What I dont like about Matlab is how closed off it is to other apps/libraries (the price is an issue too). A good, functional open source alternative could fix this.
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.