## 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."*
## What about other math software? (Score:4, Insightful)

## 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).

## sage (Score:1, Insightful)

posting anonymously for obvious reasons

## Re:This makes me think..... (Score:3, Insightful)

## Re:FINALLY! (Score:4, Insightful)

## Re:another one bites the dust (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.

## 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:another one bites the dust (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.

## Re:another one bites the dust (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 it acceptable, but clearly something you needed to spend time with to get the hang of. That's inherent in complex tasks.

## 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:FLOSS misses the point again (Score:3, Insightful)

So even if professionally one can spend a grand for the software of the profession of choice, personal computing is much more than that, and i hope FLOSS keeps "missing the point" like it did till now.

About open source having to stop at a certain threshold because you can't inspect microcode and circuits, that's true. But it's also true that malicious actions then must be confined to microcode and circuits to stay undetectable. You have a harder time inserting malware and stuff because that level would have to reconstruct activity at higher levels and act accordingly. Say the random number generator hardware can't be trusted. If you have an OSS stack on top of it you can do something about that, if your whole stack is closed you are toast.

## A link for you (Score:5, Insightful)

Nasa open source [nasa.gov]

## User interface and documentation (Score:2, Insightful)

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.

## Re:another one bites the dust (Score:1, Insightful)

JOYand aTREASURE.## Re:another one bites the dust (Score:2, Insightful)

## Re:I've always disliked that argument (Score:3, Insightful)

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.

## Re:another one bites the dust (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.

## Re:another one bites the dust (Score:5, Insightful)

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.

## 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:I've always disliked that argument (Score:3, Insightful)

## 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: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.

## 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:FLOSS misses the point again (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.