# Maple vs Mathematica ?

• Mathematica

## Main Question or Discussion Point

I know this is probably an all too asked question, but I've searched the web and haven't gotten any wiser.

I'm currently using my TI-89 calculator for all my calculations, it's fine, does everything I need, but, calculating precisely with some wierd irrational numbers just feels clumsy. Either typing them in by hand, or by defining a lot of variables (which means going to catalogue, etc). So, I'm thinking about learning to use a mathematical program.

I have both Maple and Mathematica available, but what are the differences between them?

Also, are there any good books or something like that, for learning how to use theese programs?

And are they any good at making documents for printing? As an alternative to writing in LaTeX/Word?

Related MATLAB, Maple, Mathematica, LaTeX News on Phys.org
cristo
Staff Emeritus

Okay, thanks :)

I think I will learn Maple, as it seems to be somewhat easier. What's the best way to learn how to use it? Just the built-in documentation?

JasonRox
Homework Helper
Gold Member
It's really easy to use.

f:=x^2;

Means you assign x^2 to f. If you want to differentiate f with respect to x, you type:

diff(f,x);

Or integrate with respect to x:

int(f,x);

Or plot it:

plot(f,x);

Or solve roots:

solve(f,x);

Or solve roots numerically:

fsolve(f,x);

It gets way more advanced but very easy to begin. The bad part is that it has no debugging tool. The new version is suppose to have one but you have to type your code in the "friendly" version which is incredibly slow and most people use the classic version. When your code gets long, debugging becomes impossible.

I've been messing around with Maple 11 for a bit lately, using it to do my physics homework - just to get familiar with it. It does however, have some quite strange behavior or perhaps it's just me. For example trying to solve a quadratic equation

Code:
> solve((.5*9.82)*x^2-16.5958*x+45.21273, x);
print(output redirected...); # input placeholder
1.690000000 + 2.520356188 I, 1.690000000 - 2.520356188 I
This is just copy-paste from Maple.

What is going on?

EDIT: Nevermind, I figured it out. :P

Last edited:
I would learn whatever system is used at your university (or in your department, if your school licenses them both), since math and/or science teachers will usually incorporate the program into the curriculum.

That being said, I believe that Mathematica is generally more used, especially in industry, but I could be wrong. Either are powerful tools, but my bias would be toward Mathematica.

Instead of making a new thread, I guess I'll hijack this one for a moment: I want to buy Maple 12, but I'm not a student at any college or university. I sure as heck can't afford the proffesional or academic one; I don't see any versions available to the general public, so where does that leave me?

Instead of making a new thread, I guess I'll hijack this one for a moment: I want to buy Maple 12, but I'm not a student at any college or university. I sure as heck can't afford the proffesional or academic one; I don't see any versions available to the general public, so where does that leave me?
There are some free software packages, check out

http://www.sagemath.org/

Tricore said:
I know this is probably an all too asked question, but I've searched the web and haven't gotten any wiser.

I'm currently using my TI-89 calculator for all my calculations, it's fine, does everything I need, but, calculating precisely with some wierd irrational numbers just feels clumsy. Either typing them in by hand, or by defining a lot of variables (which means going to catalogue, etc). So, I'm thinking about learning to use a mathematical program.
Although this probably wasn't the advice you were looking for, why not get hold of a copy of Matlab and use that instead? It's vastly more powerful, functional, and useable than either Maple or Mathematica. Also, it's a much more valuable skill to have than being able to use a symbolic algebra program.

Tricore said:
I have both Maple and Mathematica available, but what are the differences between them?
In effect, there's little appreciable difference. There's nothing you can do in one that you couldn't do in the other. That said, Maple does have a deserved reputation as being slightly easier for a beginner to learn, but this is offset somewhat in my opinion by the fact that newer versions of Maple use a horrible Java interface as the default.

Tricore said:
Also, are there any good books or something like that, for learning how to use theese programs?
Plenty. One of the areas where Mathematica shines in comparison to Maple is the Mathematica Book, a copy of which you should already have if you own Mathematica. Amazon has plenty of titles available for both. As a beginner it'd also be worth your while to look out for online introductory lecture notes for either system. As these are aimed at beginners, they'd be perfect for your needs.

Tricore said:
And are they any good at making documents for printing? As an alternative to writing in LaTeX/Word?
No. The general rule of thumb is that if you need to typeset mathematics in your documents, learn to use LaTeX. It's both easier to use and more powerful than using Word, Maple, or Mathematica to produce such documents.

If you're put off by seeing the LaTeX commands as you type, or if you'd like a slightly more WYSIWYG approach to writing, take a look at LyX. It's brilliant.

I would learn whatever system is used at your university (or in your department, if your school licenses them both), since math and/or science teachers will usually incorporate the program into the curriculum.
Perfectly correct. If you're going to be using this in a university environment, learn the one that you'll be expected to use.

vociferous said:
That being said, I believe that Mathematica is generally more used, especially in industry, but I could be wrong.
Neither Maple nor Mathematica are used as much in industrial applications as their producers would like you to believe. If your objective is to learn a high level language that'll be useful to you when you go to find a job, learn Matlab. It's used far more widely than either Mathematica or Maple, and is hugely more powerful. Of course, it's designed to solve a different type of problem given that it's essentially a numerical language as opposed to symbolic, but good Matlab programmers are always in demand for financial modeling, for instance.

It's really easy to use.

f:=x^2;

Means you assign x^2 to f. If you want to differentiate f with respect to x, you type:

diff(f,x);

Or integrate with respect to x:

int(f,x);

Or plot it:

plot(f,x);

Or solve roots:

solve(f,x);

Or solve roots numerically:

fsolve(f,x);

It gets way more advanced but very easy to begin. The bad part is that it has no debugging tool. The new version is suppose to have one but you have to type your code in the "friendly" version which is incredibly slow and most people use the classic version. When your code gets long, debugging becomes impossible.
So is mathematica:
f = x^2
D[f, x]
Integrate[f, x]
Plot[f, {x, -10, 10}]
Solve[f == 0, x]
NSolve[f == 0, x]

I also like the documentation center that mathematica offers. It has almost 100 examples for each function, so if you're ever unsure of how to use a function it's only a few keystrokes away.

vanesch
Staff Emeritus
Gold Member
I'm a year-long user of Mathematica, and also of Matlab, and actually the two really have totally different appliction domains: matlab is for numerical work, Mathematica is for symbolic work, although it can also do a little bit of numerical work, be it inefficiently (memory and CPU). So this is a bit like the question: what's better: Word or Excel ? Word is for writing texts, and Excel is for doing calculational sheets.

That said, I have to say now that, unless you are in an environment where money is no problem, Scilab is a very good free alternative to Matlab. Ok, its user interface is a bit more clunky and so on, but the syntax is almost the same, and the functionality is almost the same. Matlab is a bit more efficient with computer ressources. Octave is not as good (pretty slow).

I have a question, though. Although I like Mathematica a lot, it has the disadvantage of not being free. Are there people knowing something about the relative merits of mathematica and maxima (a free CAS system) ? Is maxima worth looking at ?

I'm a year-long user of Mathematica, and also of Matlab, and actually the two really have totally different appliction domains: matlab is for numerical work, Mathematica is for symbolic work, although it can also do a little bit of numerical work, be it inefficiently (memory and CPU). So this is a bit like the question: what's better: Word or Excel ? Word is for writing texts, and Excel is for doing calculational sheets.
Granted, although given that the OP asked his question in the context of finding a replacement for a calculator, I thought it would make more sense to mention the obvious candidate, Matlab.

vanesch said:
That said, I have to say now that, unless you are in an environment where money is no problem, Scilab is a very good free alternative to Matlab.
It depends on how high (or low) you aim. Personally speaking, one of the beauties of Matlab is the set of toolboxes available for it. To the best of my knowledge, neither Scilab nor Octave come anywhere close to implementing even a fraction of the functionality of these toolboxes.

Moreover, any time I've tried Scilab I've found even some very basic commands that I use in Matlab are not available.

vanesch said:
Ok, its user interface is a bit more clunky and so on, but the syntax is almost the same, and the functionality is almost the same. Matlab is a bit more efficient with computer ressources. Octave is not as good (pretty slow).
Again, this is my personal experience only, but Scilab seems very much slower than Matlab for serious numerical work. (Of course, you could argue that if what you're doing is sufficiently "serious" then you should be using a compiled language and not an interpreted language like Matlab, but I digress.)

vanesch said:
I have a question, though. Although I like Mathematica a lot, it has the disadvantage of not being free. Are there people knowing something about the relative merits of mathematica and maxima (a free CAS system) ? Is maxima worth looking at ?
I'm sure it would be perfectly adequate for simple work, but I've not used it enough to comment on that with any authority. That said, its syntax is far closer to Maple than to Mathematica.

vanesch
Staff Emeritus
Gold Member
Granted, although given that the OP asked his question in the context of finding a replacement for a calculator, I thought it would make more sense to mention the obvious candidate, Matlab.
Here I don't agree: the little numerical work you can do with a calculator, you can easily do with Mathematica. But if we are on the level of a *calculator* I would seriously consider a free alternative. Mathematica breaks down when you have to handle huge amounts of numerical data (1000 x 1000 matrices and so on), but that, you don't consider doing with a calculator either.

It depends on how high (or low) you aim. Personally speaking, one of the beauties of Matlab is the set of toolboxes available for it. To the best of my knowledge, neither Scilab nor Octave come anywhere close to implementing even a fraction of the functionality of these toolboxes.
Yes, but each toolbox costs about as much as Matlab itself! As I said, if you are in a production environment where money is no problem, sure, take Matlab and Mathematica (that's what I use also professionally all the time). But for personal use I'd really go for a free alternative.

Moreover, any time I've tried Scilab I've found even some very basic commands that I use in Matlab are not available.
You have to be careful: very often there are syntactically different alternatives. That's also what I find annoying: they resemble each other, but they are not syntactically identical, which is a genuine pain in the butt. What are the commands you didn't find in Scilab ?

That said, graphically and on I/O level, Matlab is way way richer than Scilab. But for just doing computations, I don't see much of a difference.

Again, this is my personal experience only, but Scilab seems very much slower than Matlab for serious numerical work. (Of course, you could argue that if what you're doing is sufficiently "serious" then you should be using a compiled language and not an interpreted language like Matlab, but I digress.)
Well, I did some benchmarking and I found, on the same OS (Windows) and the same computer, Scilab about half as fast as Matlab. To my big surprise, Scilab performed better under Windows than under Linux on the same machine (about 50%). Maybe that's due to some compiler settings.

I'm sure it would be perfectly adequate for simple work, but I've not used it enough to comment on that with any authority. That said, its syntax is far closer to Maple than to Mathematica.
As I said, I'm a long user of Mathematica and I really like it a lot, but it is not free, and it has a steep learning curve. Exactly the same goes for Matlab except that it is simpler to use. I don't know much about Maple, I never used it. It is my opinion that for personal use, it is better to invest time in a free tool one can always use everywhere.

Mathematica and Matlab are American. Hardly anyone has heard of Maple down there.

Maple is Canadian. Everyone knows about it up here and prefers it.

Both Mathematca and Matlab started as private companies. Maple started as a research project at a University.

Maple is the superior CAS software. But since it's mostly an algebraic system and not a number crunching warrior as Matlab is, it falls a little short of being the number one Mathematical software on earth but never-the-less still ranks in the number 1 spot. Both Maple and Matlab can communicate with each other so in retrospects both together would be considered the number one.

I know this is an old topic but oh well.

Doesn't Matlab's symbolic toolbox use Maple to do symbolic calculations? So in effect comparing Matlab to Maple is pointless.

Matlab does however change the syntax of using Maple to what I consider to be simpler, especially because this way if you learn the syntax for Matlab you don't have to learn more syntax just to do symbolic calculations.