Matlab vs. Mathematica

Last semester in one of my courses we used Mathematica to solve some more complex functions. From what I've garnered during my time here, it seems functionally similar to Matlab, but apparently much less popular since I'm not sure I've ever seen Mathematica mentioned.

Should I learn Matlab instead to be relevant? Is this what most serious scientists/mathematicians use?

Other urls found in this thread:

news.ycombinator.com/item?id=4015695
amazon.com/review/RUGSCP3XBNBUV/ref=cm_cr_dp_cmt?ie=UTF8&ASIN=1579550088&nodeID=283155
mathworks.com/company/newsletters/articles/matlab-incorporates-lapack.html
trac.sagemath.org/ticket/14901
mathoverflow.net/questions/157855/mathematica-package-for-lie-algebra-computations
twitter.com/NSFWRedditVideo

Which class did you need Mathematica for?

Intro to Maximum Likelihood Estimation.

We mostly used it for an introduction to the basic concepts, e.g. how to build a statistical model, how to analytically/numerically find the maximal point of a function, etc. So it was more of a pedagogical tool than anything, but still.

Sage math is what we use because of Wolfram being totally crazy/Larry Ellison type bond villain of money grabbing but Mathematica has the most libraries, though even researchers can't afford it so you'll end up using 1970s Fortran libraries for the most part + Sage

I like the Mathematica language better than Matlab, but I hate the childish notepad bullshit. Also, it's generally slower. However if you're doing analytical solutions...there is no equivalent

Matlab > Maple > Python+scipy+matplotlib+... >>> Mathematica = Shit

I used mathematica for perturbation theory stuff for my bachelor thesis. It is a quite powerful tool once you understand how to work with patterns.

Mathematica is to solve ODE, PDE, Polynomials and other formal calculus.
Matlab is to represent, evaluate, and play with matrices and functions.

Matlab is something for engineers, Mathematica for mathematicians. Both complete themself quote well.

>From what I've garnered during my time here, it seems functionally similar to Matlab
Well, it is not. They may be similar from a very superficial perspective, but actually they have very different focus.

Mathematica's strength is symbolic calculations and arbitrary precision (meaning it can perform analytical integration for example or calculate Factorial[10000] exactly if you want it to). It features data manipulation, plotting etc as well, but nothing I would ever seriously want to use. It just seems too inflexible and the scripting language is fucking terrible for anything beyond quick prompts. Unless of course you are totally into functional languages, then you may have an easy time with it. It's usually something for mathematicians/theoretical whatevers that don't really want to waste time with numerical details. I usually use it to integrate shit, solve differential equations etc.

Matlab's focus on the other hand is numerical calculations and data manipulation. It features a pretty neat scripting language (it has its flaws, but it's a dream compared to Mathematica), that is pretty close to languages like Fortran or Python (especially if you use it with Numpy), so most people will get it pretty quickly. It's all interpreted, but the implementations of the algorithms provided are fucking amazingly fast, so much that it's considered gold standard among numerical applications. Matlab is great to explore data, draft algorithms and simulations. It also has a lot of very sophisticated tools for this sort of stuff (i.e. finished methods for fluid dynamics), which are also considered gold standard.

Personally, I use Python + Scipy/Numpy + Pandas + Sklearn + matplotlib as it's way more convenient for my purposes.

>Comparing apples with oranges

Matlab works perfectly well for solving ODE, PDE, Polynomials and other formal calculus.

Matlab can solve things analytically too, I havent tested them side by side on the same problems, but as far as I can tell matlab can solve any algebraic, integral, defirential, ODE, infinite sums, and other shit that mathematica can.

pic related is matlab doing them.

That's the Symbolic Math Toolbox, it's basically an optional add-on that you need to buy separately. It's not included in standard MATLAB.

>buy

I haven't bought it either, but the Symbolic Math Toolbox is still not included in my version of MATLAB.

thats not an issue since mathematica is more than $300 but matlab is less than $150 plus $50 for the Symbolic Math Toolbox, which is still cheaper than mathematica.

yes, but it's a bit more tedious.

[math]\color{#781b86}{\text{Mat}}\color{#651c96}{\text{hem}}\color{#521da6}{\text{ati}}\color{#4928b3}{\text{ca }}\color{#4234bf}{\text{is }}\color{#3f43c7}{\text{gre}}\color{#3e53cd}{\text{at,}}\color{#3f62cf}{\text{ no}}\color{#4171cd}{\text{t j}}\color{#457eca}{\text{ust}}\color{#498ac3}{\text{ as}}\color{#4e95bb}{\text{ a }}\color{#549eb0}{\text{too}}\color{#5ba6a6}{\text{l f}}\color{#62ab99}{\text{or }}\color{#6bb18d}{\text{mat}}\color{#74b581}{\text{hem}}\color{#7eb876}{\text{ati}}\color{#88ba6b}{\text{cs }}\color{#93bc62}{\text{but}}\color{#9ebd59}{\text{ al}}\color{#a9bd52}{\text{so }}\color{#b5bd4b}{\text{as }}\color{#bfba47}{\text{a g}}\color{#c9b842}{\text{ene}}\color{#d2b23f}{\text{ral}}\color{#daac3d}{\text{ pu}}\color{#dfa33a}{\text{rpo}}\color{#e39938}{\text{se }}\color{#e58c35}{\text{pro}}\color{#e67d32}{\text{gra}}\color{#e56c2f}{\text{mmi}}\color{#e2592b}{\text{ng }}\color{#df4728}{\text{lan}}\color{#dd3424}{\text{gua}}\color{#da2121}{\text{ge.}}[/math]

Mathematica has a great syntax and a lot of really cool features.
Sadly, it's also a mess that every single update gets more bloated with useless functions instead of much-needed optimization of the important stuff.

should I learn mathematica ou matlab first, as a engineering student?

Matlab dude

witnessed

Only valid in 3

wat, its perfectly valid when Sigma is a 2D surface in 2D space

It's not MATLAB's implementation that's gold standard, it's fast because it uses the freely available LAPACK libraries under the hood. Any language can do matrix math as fast as MATLAB.

But none of them have syntax set up to make it easy. I'd kill to have MATLAB's slicing in base Python.

Cross products are valid in 2D space easily.

no

You have no idea what you are talking about, stop.

This is a good post outlining the benefits/positive of Mathematica news.ycombinator.com/item?id=4015695 and also the fact that they have libraries for precision nobody else has, which would take a competitor a decade to replicate.

The bad is Wolfram is a money-hungry egomaniac and borderline fraud. For example, unlike the other big Ma competitors (Maple, Matlab, Magma) not a single source line of Mathematica code is exposed. He's litigious suing all his old developers and everybody else, he labels everthing "mine", he endlessly praises himself yet his crowning achievement which is this book, is routinely lampooned as being rife with errors amazon.com/review/RUGSCP3XBNBUV/ref=cm_cr_dp_cmt?ie=UTF8&ASIN=1579550088&nodeID=283155 basically making him the laughing stock of mathematicians, yet he has a firm grip over all development in Math with mathematica.

If you can avoid Mathematica you should just to not give that guy thousands of dollars in subscription fees and have an easier time proving your results with open libraries (though good luck finding any).

Except I do. The information is straight from MathWorks:
mathworks.com/company/newsletters/articles/matlab-incorporates-lapack.html

Any language can use those libraries if they choose to.

Lapack doesn't feature every single algorithm used in MATLAB and Toolboxes you idiot.

Does anyone here know whether or not an add-on for calculating shit in algebras exists in Mathematica or is it already implemented in there? And what would be that add-on's name? (for instance an add-on exclusively for Heisenberg's algebra?)

>Heisenberg's algebra
trac.sagemath.org/ticket/14901 has it in Sage or Maple mathoverflow.net/questions/157855/mathematica-package-for-lie-algebra-computations

Currently using octave to test neural networks. Do I use scipy or numpy to build a python application around the algorithm?

Don't use Octave, nobody fucking uses this piece of trash. If you want to test neural networks use python with some library like tensorflow. Then you'll actually learn something worthwhile.

Thanks bro but how in the hell do I download and install Sage? That website is a mess.

Matlab is worthless and you should use C/C++/fortran/python.

Mathematica is actually worthwhile for symbolic and algebraic stuff.