19 ms·
An open question independent of the author: What do people use Mathematica for that can't be done in R, SAS, Matlab, SPSS or Python libraries. Is it a great i
by mathattack 10y ago
An open question independent of the author: What do people use Mathematica for that can't be done in R, SAS, Matlab, SPSS or Python libraries.
Is it a great innovation that other tools have caught up with, or is it still getting a lot of use at the bleeding edge?
- yummyfajitas 10y agoIt's one of the few systems I've seen that is simultaneously a good programming language, good at symbolic computation, and also good at numerical computing.
- coldtea 10y ago>An open question independent of the author: What do people use Mathematica for that can't be done in R, SAS, Matlab, SPSS or Python libraries. All those don't offer a seamless environment, that's hassle free, easy to setup, with commercial support, a great GUI, great documentation and works across so many science domains and with different approaches. So, the question is quite (but not that severely) like "what people do with excavators that you can't do with spades". The answer is, nothing much, except tons.
- williamstein 10y agoWe (see https://cloud.sagemath.com https://cloud.sagemath.com) and others (e.g., https://www.continuum.io/ https://www.continuum.io/) do offer commercial support for Python (etc.) and an easy to setup environment. Of course, Matlab is also commercially supported by Mathworks, and it seems that R is now commercially supported by Microsoft (https://www.microsoft.com/en-us/cloud-platform/r-server https://www.microsoft.com/en-us/cloud-platform/r-server). [Edit: added Microsoft]
- gone35 10y agoand an easy to setup environment. Hardly so[1] --especially for general/non-technical users. [1] http://doc.sagemath.org/pdf/en/installation/installation.pdf http://doc.sagemath.org/pdf/en/installation/installation.pdf
- wbhart 10y agoI think he's referring to commercial support for a Python environment at cloud.sagemath.com, for which there is zero setup. Just go to the link provided. SageMath is also available there with zero setup. You don't need the Sage installation manual to use it there.
- beevai142 10y agoI don't think that's really the answer --- e.g. Matlab has all of those (and the open source things are YMMV). The reason I've seen people prefer Mathematica is because its symbolic computation and visualization capabilities are both powerful and easy to use for basic things. Here, it is just very good, as to be expected from popular software with a long history with significant resources spent on its development. (The open source alternatives for symbolic computation may be as good in some applications for experts in some mathematical fields, but the general purpose user experience is not as good. As an alternative to Mathematica, I'm currently using Sagemath, and while it's perfectly OK for many things, the polish is often lacking.)
- coldtea 10y ago>Matlab That's true, Matlab does -- I was referring mostly to the others, disparate attempts at a cohesive solution.
- bachmeier 10y ago> hassle free, easy to setup, with commercial support, a great GUI, great documentation Which of those doesn't apply to R? > works across so many science domains Mathematica offers the same statistical capabilities as R? Granted, I haven't used it in years, but that would be a new thing if true.
- skolos 10y agoStarting with version 9 Mathematica has built in integration with R. So you can use R in a seamless way from you Mathematica notebooks: https://www.wolfram.com/mathematica/new-in-9/built-in-integration-with-r/ https://www.wolfram.com/mathematica/new-in-9/built-in-integr...
- hckao 10y agoYes. There is indeed a RLink package https://reference.wolfram.com/language/RLink/guide/RLink.html https://reference.wolfram.com/language/RLink/guide/RLink.htm... which can pass R commands to R from Mathematica and transfer the data.
- evanb 10y agoFirst-rank symbolic calculation is absolutely critical.
- Mathnerd314 10y agoMathematica is kind of the opposite of "the bleeding edge". If you want the latest algorithms, statistics, etc., those will be found in R, C++, Python etc. in the author's website. If you want well-tested, mostly-robust algorithms, those (might) be in Mathematica; they follow innovation, rather than leading it. Mathematica also has some algorithms from the 70's and 80's that aren't widely available as open source, and then there's the notebook interface (but see Jupyter / IPython). The part I've found most useful has been Wolfram|Alpha; it's really nice to be able to say "August 2, 2016 - September 4, 2017" and get back the number of days, weeks, and hours between those two times.
- mlvljr 10y ago>> some algorithms from the 70's and 80's that aren't widely available as open source What would be those (if you got a minute)?
- Mathnerd314 10y agoI was thinking of symbolic integration when I wrote that, but there are also the various numerical solvers and special functions. Honestly though I'm not sure, I never really got into that part of it.
- pkaye 10y agoMathematica uses GMP and Linpack for example and those might be used by R or Python also.
- dr_zoidberg 10y ago>> The part I've found most useful has been Wolfram|Alpha; it's really nice to be able to say "August 2, 2016 - September 4, 2017" and get back the number of days, weeks, and hours between those two times. In Python: import datetime # standard module timedelta = datetime.datetime(2016, 8, 2) - datetime.datetime(2017, 9, 4) timedelta.days > -398 timedelta.days / 7 > -57 timedelta.days / 7. > -56.857142857142854 timedelta.total_seconds() / 3600. > -9552.0 In particular, that you can pretty much ask anything to Wolfram|Alpha, and that it has to figure out exactly what you're asking (and I admit most of the time, it does it), always seemed more like a marketting ploy than a real feature to me. I can't go as far as saying that I dislike it, but the few times I tried to use it, it didn't get what I was trying to "ask" and I just gave up. --> I also admit it might be me that I just don't get the tool.
- pjmlp 10y agoIt is how mainstream programming might have looked like if Lisp Machines instead of UNIX had caught on. Other than that, it is as coldtea answers.
- throw102901 10y agoNot every mishap in computing is the fault of Unix. :) SBCL and ACL2 run quite nicely on Unix, and their authors haven't been deterred by it. Neither have the Mathematica authors.
- SSLy 10y agoYeah, the rest is fault of DOS. While these Lisps run fine on unix, they do not define how the system is programmed, but are "just" another application environment. It's still pipes/signals/ioctl()s down there.
- jlg23 10y ago> What do people use Mathematica for that can't be done in R, SAS, Matlab, SPSS or Python libraries. Nothing; but Mathematica has been the tool of choice for cs education (or math+cs) and people tend to stick to what they know.
- PeCaN 10y agoI think you're thinking of Matlab. Mathematica isn't particularly huge in education (yet).
- danieller 10y agoMatlab might be more popular in engineering, but Mathematica is pretty pervasive world wide in math and physics especially
- iamcreasy 10y agoCan you elaborate on why Matlab is more popular in Engineering and Mathematics in math and physics?
- danieller 10y agoNot sure, could have to do with early marketing in the 80s - we all know academia likes to stay on a path regardless of new developments. Could be as simple as "Mathematica" has math in its name and was developed by a physicist...and "Matlab" has lab in its name. Fickle folks, idk.
- protomikron 10y agoAnd this is actually a terrible thing. Fortunately my school did this stuff with the Python stack, however the situation is similar to MS Office - it is taught in schools (general education I mean) and so people struggle with e.g. LibreOffice. However I have to agree that the UI of Mathematica is superb. Jupyter Notebook is a nice free alternative, but its recent development (Jupyter Lab) seemed very "ideish" and got me scared (do not get me wrong, it looks pretty slick and must have been complicated to engineer - but for me the nice thing about the notebook was that it is _not_ an IDE like Netbeans, Eclipse, QT-Creator - i.e. the classic ide UI that is separated into editor, file-viewer, shell and something like variable inspector). But this is a different story.
- cschmidt 10y agoI've used Mathematica, R, and Python extensively, and even Matlab (cringe). I reach for Mathematica when I need to do something symbolic (algebra, derivatives, etc.), and also for the built in graphics. It is easy to interactively build up plots that give good insight into my data. It also is easy to problematically create quite complex plots. It is enough better at that that I don't just stick with R or python. I can get it done faster in Mma, and the plots also look nicer. The distribution (random number) functions are also very nice, which I often use hand in hand with the histogram, when I want to play around with statistics. Edit: The graphics also scale better for largish data sets. If I want to plot a few hundred thousand data points, Mma feels a lot faster.
- iamcreasy 10y ago> I reach for Mathematica when I need to do something symbolic (algebra, derivatives, etc.) So, when do you use Matlab? Can you give me some real life examples that illustrated your decision?
- bloaf 10y agoLets say you want to build some fancy DIY project, like a food dehydrator. You want to make some mathematical models of the thing, so you pull up Mathematica. To start with, maybe you want to solve some simple mass and energy balances on the thing to find out how much power it will take, and how long it will need to run. No problem, Mathematica does basic algebra right out of the box. It's also got a nice units system, so you can convert things easily. Now you realize that your mass balances have turned into differential equations. No problem. Mathematica has that built in and you can immediately plug your mass balance equations into the ODE/PDE solver and get analytic or numerical answers. Now you are interested in how to run the fans/heater so that your dehydrator stays in the safe ranges. No problem. Mathematica has that built in, and you can immediately start working with Mathematica's process control tools. Now you've built the thing, and recorded some data. You want to make a calibration curve for your thermometer, refine your model's parameters, and make some graphs. No problem. Mathematica has built in data processing, curve fitting, and plotting tools. You can immediately get the answers you want, and plug them into your earlier work. Of course, you can probably do all those things in python, or R, or Matlab. But in Mathematica, you don't even need to install optional components between each step. There is no hunting down and learning some 3rd party library. There is no need to try to wrestle your symbolic work into a form that your numerical number cruncher tool can understand. There is no creating awkward pipeline code to shoehorn the results of your statistical analysis back into your differential equation. Things play nice with each other.
- skolos 10y agoThis describes well how I use Mathematica. I would also add that compared to Matlab you pay for single license and get whole thing. With Matlab you send list of toolboxes to a manager and got asked "Do you really need symbolic toolbox?" With tools maturing there is a push to use Python for prototyping, but the experience is still not as seamless as with Mathematica. That being said, from my experience Mathematica is best for prototyping or research. Once you know what you are doing it makes sense to redo everything in C/C++ (or your other favorite static typing language) for production or client use.
- 10y ago
- baq 10y agoit's really something that needs to be tried in order to be understood properly. imagine jupyter notebooks on steroids, first implemented 30 years ago and improved continuously since then.
- vessenes 10y agoOne thing people often miss talking about Mathematica is that the core math notebook features, 3d plotting, symbolic algebra tools have all been available since the early 1990s. Seriously, that's a long time, and a lot of user hours and development have gone into Mathematica. It's not perfect, it's not for everyone, I don't currently have a license, but to my mind, it's the gold standard for interactive notebook type math and science where you will never have to wedge in some weird plugin, deal with a library incompatibility, just go.
- carlob 10y ago> One thing people often miss talking about Mathematica is that the core math notebook features, 3d plotting, symbolic algebra tools have all been available since the early 1990s. late 1980s to be more precise…
- maverick_iceman 10y agoHeavy duty symbolic math, say calculations in General Relativity or Feynman diagrams.
- Myrmornis 10y agoSymbolic algebra. I think you may be confusing numerical scientific computing with symbolic algebra. In the science/math/stats realm the tools you mention (e.g. R and python) do numerical computing. They only have symbolic computing as add-on packages (e.g. sympy). Mathematica is the world's most capable symbolic algebra system by a long way. It can also do numerical operations similar to what R and python can do, but I doubt it has the statistical breadth of R.