Mathematica Is Mathematica Worth the Cost? Pros and Cons

  • Thread starter Thread starter dalcde
  • Start date Start date
  • Tags Tags
    Mathematica
AI Thread Summary
Mathematica is considered expensive, leading users to question its value compared to other computer algebra systems (CAS) like Maxima. While it excels in symbolic calculations, it is not recommended for medium to large-scale numerical optimization due to poor performance and limited tools. Users suggest alternatives like AMPL, GAMS, or open-source solvers for optimization tasks. Mathematica can be useful for quick programming tasks that leverage its mathematical capabilities, but compiled languages like C or Fortran are preferred for complex coding due to efficiency. Ultimately, the decision on whether Mathematica is worth the cost depends on individual needs and the specific tasks at hand.
dalcde
Messages
164
Reaction score
0
I realized that Mathematica is extremely expensive, and I want to ask users whether it is worth the money (considering that there are other CAS such as Maxima)?
 
Physics news on Phys.org
I'm not sure which version you are referring to, but they do have a home edition at a price tag that makes it a realistic option for private persons. I gave myself this edition as a birthday present last year and although I haven't had as much time to play around with it as I would have liked I have been fairly satisfied with getting a lot for my money.

However, whether or not Mathematica is worth the money for you will be a highly subjective question depending on how much money you are willing to spend, what kind of features you are looking for and in which context you need them, and if you can get those features "cheaper" with another system.
 
I've forgotten to mention that the home edition is not available in where I live. Anyway, I am thinking of using Mathematica for some programming since I've heard that it makes a good programming language (please correct me if I'm wrong) and I will also use it as a general purpose CAS to solve equations or do some calculations when I am lazy. I am currently using Maxima and planning to learn Sage (which takes some time to learn because if I'm learning it, I'd learn Python as well).
 
dalcde said:
I realized that Mathematica is extremely expensive, and I want to ask users whether it is worth the money (considering that there are other CAS such as Maxima)?

I obviously depends on what you want to do with it.

Background: I've used Mathematica for 12 years now. I mostly use it to do pure math symbolic calculations (i.e. group theory).

1. Numerical optimization in Mathematica.

I strongly DO NOT recommend Mathematica for that task if your examples are medium to large scale and nonlinear-non-convex.

Mathematica optimization solvers (and add-ons) are rather limited, have poor performance for medium to large scale nonlinear problems (i.e. long calculation times) and don't offer a complete toolbox to cover mixed integer nonlinear or linear problems.

If you want to buy a commercial software for that task, I highly recommend purchasing AMPL or GAMS. There are a lot of open-source solutions (e.g. http://www.coin-or.org/) and the NEOS server can help in carrying out tests (http://www.neos-server.org/neos/).

There are also a lot of open-source codes for derivative free optimization if your objective or constraint functions involve noise, are non-differentiable or their derivative is not available for some reason (e.g. the result of a computer simulation in another program).

2. Symbolic calculations in Mathematica.

If your main focus is symbolic calculations, then I highly recommend Mathematica.

3. Performance

If you want your code to have low calculation times, then I suggest coding things in a compiled language (e.g. C, Fortran) and using open source libraries.

I make this remark because I initially used Mathematica for numerical optimization as well as other numerical code and I concluded that calculation times were too long for medium to large scale problems I was considering at the time. I have since moved to AMPL and also code in C using open-source and home-made numerical libraries.

There are a ton of open-source (and very reliable) linear algebra, algebraic (or differential) equation solving routines and optimization solvers (e.g see http://www.netlib.org/).

Hope this helps.
 
Last edited by a moderator:
For numerical optimization of medium to large scale problems, I strongly do not recommend Mathematica (use AMPL or GAMS instead; open-source solvers are also available through COIN-OR and other online sources; see NEOS server for optimization also).

For symbolic computations, I highly recommend Mathematica.

Mathematica as a programming language is slower that compiled languages (e.g. C, Fortran). If you want to make "complex" code, then I suggest using a compiled language and numerical routines from the Netlib library and other open-source librairies.

All these recommendations are based on 12 years of working with Mathematica and programming numerical optimization code in Mathematica and compiled languages.
 
What advantage does Mathematica have over other CAS such as Maxima? (The only advantage I know is that it is the only one that can solve Diophantine equations)
 
dalcde said:
it makes a good programming language
This seems odd to me. From my programming experiences, I can't imagine ever deciding to write something in Mathematica if I have a reasonable choice to write it in C++ or python or some other language I consider "normal" for programming tasks. I would only write a program in Mathematica if I was going to:
  • Use the mathematical functionality it provides
  • Need to extend Mathematica's functionality
  • Was writing something "quickly" and wanted to make heavy use of the way it handles definitions and substitutions
 
dalcde said:
What advantage does Mathematica have over other CAS such as Maxima? (The only advantage I know is that it is the only one that can solve Diophantine equations)

I have no experience with Maxima, therefore I can't comment. However, does Maxima have the same functionnalities as Mathematica (in other terms, on what aspects do you want to compare the two) ?

Hurkyl, I totally agree with you.
 

Similar threads

Replies
8
Views
11K
Replies
5
Views
5K
Replies
5
Views
2K
Replies
3
Views
3K
Replies
2
Views
5K
Back
Top