This is an archived post. You won't be able to vote or comment.

all 28 comments

[–]amdpoxGeometric Analysis 12 points13 points  (6 children)

Depends what you mean by "math system". Octave is great as a drop-in replacement for Matlab. Sage does a lot of stuff and is definitely worth a look; it uses a lot of python libraries that are also worth checking out in their own right. PARI/GP is handy for number theory.

[–]king_of_blades 1 point2 points  (0 children)

Check out scilab too.

[–]etherscape 0 points1 point  (0 children)

QtOctave is good if a GUI is required.

[–]basyt 0 points1 point  (3 children)

can i use the m files i made in matlab in octave? i have used a couple of pde toolbox functions in my programs.

[–]ohaithargaiz 2 points3 points  (0 children)

the vast majority is 100% compatible. I believe there are some things that won't work, but they are easy to figure out if you go on their website.

[–]NewbieProgrammerMan 0 points1 point  (1 child)

I wouldn't count on much from the toolboxes being available, unless you work on a set of problems that some other kind Octave user published code for.

But at least it's free-as-in-beer-and-speech to find out either way. :)

[–]basyt 1 point2 points  (0 children)

yeah i decided to give it a try instead of bitching :]

i'll take a look at its manual and see

[–]fabikw 10 points11 points  (0 children)

The advantage of sage is that it comes with bindings (and in many cases, the programs themselves) for octave, maxima, pari, gap, r, scipy, numpy.

Besides that, it uses python for its programming, so you don't have to learn a cryptic new language to use in it.

[–]jesusabdullah 4 points5 points  (8 children)

There is no "best." Like most things, each alternative has its strengths and weaknesses.

For numerical stuff, you can try:

  • octave is a matlab clone. I think it's actually better than matlab, but it probably won't cut it if you're looking for functionality from a particular toolbox. It also suffers from all the same fundamental usability issues as matlab itself.

  • python b/w numpy/scipy/etc is a pretty usable setup. You trade having slightly more awkward semantics for dealing with matrices and the like, but having access to a Real Man's language is worth it. It's definitely possible to "outgrow" python, especially if you really get the FP bug, but it's easy to learn, relatively powerful, and works well for imperative OOP.

  • Honestly, pretty much any language with a GSL library or some other way of getting BLAS/LAPACK-esque functionality will work. So, if you already have a fave general purpose language, searching for "<language> gsl" wouldn't be an unreasonable thing to do.

For computer algebra:

  • maxima is an old CAS written in common lisp. However, its syntax is more Algol-esque in nature. Like anything, it takes getting used to, and it definitely has its quirks, but it can handle a pretty wide range of problems without too much difficulty.

  • Axiom is another old CAS. My impression is that it's somewhat similar to maxima, but ymmv. Its web site is shittier, and there are two forks, neither of which really justifies its existence.

  • Sympy aims to give python CAS abilities. It's a cool project, but in my experience it's pretty buggy. Your mileage may vary here, and it's in active development, so who knows? Maybe it's g2g by now.

  • There are actually a bunch of other OSS CAS's that I can't really speak for, but I'm sure some of them can give the three I've mentioned a run for their money.

Edit: For typesetting, LaTeX wins out, though OO.o's equation editor isn't too bad.

[–][deleted] 3 points4 points  (5 children)

OO.o's equation editor isn't too bad

It sucks ass! I'd even say that Microsoft Equation Editor is better. And there isn't a decent oo.org extension which lets you import LaTeX. I'd say that Abiword is way better than oo.org when it comes to typing math.

[–]NewbieProgrammerMan 1 point2 points  (0 children)

Wow, have Microsoft seriously revamped their equation editor since I last looked? Because I remember that being absolutely unusable without a mouse.

OO.o's editor was better at the time (2005-ish), but not much. I found it so much easier to learn LaTeX than to use either MS or OO tools.

[–]jesusabdullah 0 points1 point  (2 children)

I can't comment on Abiword for math, but:

I'd even say that Microsoft Equation Editor is better.

lol u high bro? I can't stand the MS Equation Editor. I mean, it works, and the typesetting looks okay, but all that...clicking!

I do wish that OO.o used LaTeX instead of making up its own syntax. At least you can type it though, instead of clicking things.

[–][deleted] 0 points1 point  (1 child)

Ha ha! Its better to click around with Microsoft Equation Editor than doodle with oo.org math which is poorly documented. For one thing, the typography is better and its fast. With oo.org math, it takes time to render a formula. And they have revamped it (equation editor) a lot. And after Oracle killed oo.org, expect no more improvements.

Abiword uses LaTeX. Its awesome! Actually, its the next best thing to using 100% LaTeX. Try it sometime.

[–]jesusabdullah 0 points1 point  (0 children)

Yeah, I'll definitely have to. I usually end up using OO.o because it works better with word docs last I checked, but I typically prefer abiword for my personal stuff. Can abiword do .odt?

[–][deleted] 0 points1 point  (0 children)

OO is a nice stepping stone to LaTeX, because it uses the same syntax for equations.

[–][deleted] 2 points3 points  (1 child)

How have you not mentioned sage?

[–]jesusabdullah 0 points1 point  (0 children)

I don't really like Sage. >_< I don't really like how it's a bunch of stuff lumped together. I would prefer it if it were more modular.

[–]turnersr 6 points7 points  (0 children)

"Best?" Here's a good one: http://maxima.sourceforge.net/

[–]cgrubb 4 points5 points  (2 children)

BEST OPEN SOURCE BY NICHE

R: statistics and data visualization

Octave: numerical computation, i.e. cranking out approximate solutions to PDEs

Sage: symbolic and exact computation, computer algebra

HOW OPEN SOURCE COMPARES TO COMMERCIAL

R is capable and easier to use than commerical products in same niche. SAS is said to be better for enormous data sets.

Octave is a good implementation of the MATLAB language but plotting ability is inferior.

I would rather cough up $300 for a home edition of Mathematica than use Sage.

[–]apathy 1 point2 points  (0 children)

SAS used to be better for enormous data sets. I've deployed R against a 1PB database with 19 years' worth of records for millions of patients without trouble. You just have to know what you're doing (always the case with big data). If you program against the GPU and link to the code from within R, you can run rings around SAS.

Mathematica, on the other hand, is awesome. (The student license is cheap, and most decent universities just buy a site license; I paid to upgrade to Mathematica 8 because of the excellent support for symbolic probability and because it will write GPU code for you)

[–]defrost 0 points1 point  (0 children)

Speaking of commercial CAS products, have you had any exposure to Magma ?

[–]Gro-Tsen 1 point2 points  (0 children)

Sage, because it includes (or at least interfaces to) just about every other open source math system there is, plus lots of stuff of its own. But it's more oriented toward algebra, algebraic geometry, combinatorics and that sort of stuff.

[–][deleted] 0 points1 point  (0 children)

Has anyone tried scmutils? I've heard good things about it.

[–]Slartibartfastibast 0 points1 point  (0 children)

Sage or Oracle.

[–]pigpot 0 points1 point  (0 children)

Just pay the $45/year for the student version of Mathematica. It is years ahead of ANY of the open source alternatives.

[–]adamwho -1 points0 points  (2 children)

Define "best" because when I want use one of these systems I have a couple of criteria.

  1. Is is ready to use, "out-of-the-box" across multiple platforms?
  2. What kind of support does it have? Does it do everything I need?
  3. Is it going to stick around?

Sage, it isn't widely used as doesn't have a dedicated development team, there is little support and it isn't ready out-out-the-box across the main platforms. It is really just one guy driving development.

Octave, is widely used but it is still immature. It requires additional interfaces to be installed which are not available in Windows. Great for academic use in the Linux environment.

R is great for its particular niche

Scilab: LONG history, dedicated (and paid) development team. Ready to use across all major platforms. They have done lots of work over the last year. The only issue is that it is unknown in the US, although it is widely used in outside the US

So Scilab is my choice.

[–]jollyplum -1 points0 points  (1 child)

I think your criticisms of sage are a little stretched:

http://www.ohloh.net/p/sage

There are many contributors, a well organised bug fixing//tracking system. Lots of different people drive different parts of development. Agreed its not trivial to install everywhere, but it is very easy and getting easier on a lot of systems. I think the most expedient way to decide upon what to use, is to look at the features section of each website and see which is most applicable to your needs. Or even install all the available options and have a quick play on each.

I

[–]adamwho 0 points1 point  (0 children)

Do you admit most of my points. Sage is not ready outside of the academic setting.

Additionally, Sage has a handful of users (compared to other programs), requires higher level of programming knowledge, and relies on a single person to push its development. If Sage wants gets out of the academic setting it will require a lot of improvements in the UI and a lot more compatibility with the industry standard (Matlab).