What are some real-world applications of Mathematica?

I originally posted this on Stack Exchange, where it was suggested it would more appropriately be posted here. The only “real-world” application that meets the specified criteria offered so far (twice) has been Wolfram Alpha (I am not entirely sure that it meets the second criterion - would you choose to develop WA in WL, if you didn’t have a bunch of WL experts and a WL development platform at your disposal?). In any event, I am interested in hearing about other real-life applications…

I have a theory, which I am in the process of writing about in a blog post, that other than in applications in mathematics (symbolic logic), Mathematica’s primary usefulness is in encouraging a kind of intellectual dilettantism. (Of course, one man’s dilettantism is another man’s New Kind of Science: i.e. the speculative endeavors of a fertile, creative intellect might readily be mistaken for actual (scientific) achievement by less agile minds.)

I don’t want this conjecture to be true: I’m as much a buyer of the hype around Mathematica as the next man. But I have noticed that, in practice, Mathematica somehow fails to live up to its apparently unlimited potential for encapsulating creative thought-product across an almost unlimited span of human intellectual endeavor. In my own work in finance, for instance, it has generally proved much less useful than other products such as Matlab. And, in general, when I look at the examples cited by Wolfram in its “customer stories”, my reaction to many of them is: “Sure, you can use Mathematica to do that. But why would you, when there are much better alternatives available?”. To take one such customer story from the field of 3D CAD, I don’t understand why anyone would prefer to use Mathematica for such a task, rather than a specialist product like Solidworks.

I am aware of applications where the use of Mathematica is fully justified. In my own work, I have used Mathematica to price complex derivatives products, a field in which it excels. Likewise, I am somewhat familiar with Phil Zecker’s work at EQA Partners, where he produced an outstanding risk management solution using Mathematica. In both these cases, however, there is no standard, specialized alternative offering in the field of risk management, as there are, for example, in engineering, CAD, app design, or music. In these areas, it seems to me, Mathematica is like a Swiss Army Knife: sure you can use it to dabble in almost anything; but I have screwdrivers, knives and corkscrews that do a better job for their specific purpose.

In any event I am looking for counter-examples of real-world applications to refute my hypothesis about Mathematica. By “real-world” I mean specifically applications in which:

(i) money changed hands (e.g. a commercial product was sold, or consulting fee earned) ; and

(ii) an alternative solution was considered and Mathematica preferred for specific reasons (“it was the only software we could afford or that was available to tackle the job”, is not a valid reason to qualify the application as real-world, according to this definition)

“Intellectual dilettantism”, I like that! I tend to call it “Geeky bagatelles”.

I’ve sold around 300 copies of several Mathematica applications and done a little paid consulting - but it is far from a living. I know there are people who have appeared on this forum who earn money through Mathematica consulting. There are many more who use Mathematica in their work but many of them say it is very difficult to get others in their company to use it.

Then we should keep in mind that research and exploration, even if not profitable now, may have a significant impact on the future. “What is the use of a new baby?” and “Someday Sir you will tax it.” and all that. Just from reason and knowledge of Mathematica’s features it should have a greater impact.

But it’s not having a significant impact. Just one example is the publication of physics documents. I haven’t done a thorough search but I suspect that you won’t find a single Mathematica notebook or CDF document on physics archives. Mathematica notebooks with their active and dynamic capabilities should, by all rights, blow static PDF documents out of the water! But Mathematica hasn’t even gotten its toe into the water.

The real question then is: Why doesn’t Mathematica have a greater penetration in science, education and the commericial world? This is a problem to be solved. If Wolfram Research doesn’t see it as a problem then it won’t be solved. Mathematica aquires more nice features with each version but this hasn’t solved the problem. Here are some of my suggestions, for what they’re worth.

  1. Mathematica and the Wolfram Language are difficult to learn. This is mostly because of the sheer size of it. The core is pretty good and the edges are pretty ragged. WRI has done a lot with documentation, but they could still do more. One thing they might do is to give users freer access for adding to the documentation, maybe like Wikipedia. More practical examples might help a lot. Just formalistic usage and then jumping to a complicated “Neat Example” is not always sufficient. To give an example: while answering another recent posting on Wolfram Community I started using the ExtractArchive routine. This sounds very nice. It can extract a zip file and install an application on the user’s computer. But then it turned out that it was very limited. There can be no files in the existing extraction folder else it completely fails. This means it cannot update an application, such as can be done if one downloads a zip file and unzips it with WinZip. I checked its options and found CreateIntermediateDirectories, but without any explanation of what that means. One can’t delete the application before using ExtractArchive because there may be important files there that are not updated. One has to do a little research project to find if a routine works or not, and sometimes it doesn’t. There are too many routines like this that just pretend to be useful but in fact are not.

  2. Mathematica graphics is extremely difficult, cumbersome and convoluted! It is a major negative. I’ve communicated with many people who complained about it. Its main flaw is that it’s designed from the top down with scads of plot routines with little correlation. Lots of choices but if you don’t want to accept one of their choices you are pretty much stuck. The sad thing about this is that Mathematica opens the possibility of more innovation in graphical presentation but their paradigm chokes it off. My best selling application, Presentations, was based on the idea that in graphics “everything is a graphics primitive”. It would extract the graphics primitives from higher level plots so that you could directly combine them with other primitives and graphical directives. The paradigm was more like drawing on a sheet of paper, one thing after another by specifying the primitives. Users seemed to like it a lot.

  3. Mathematica is not as stable over versions as they nonchalantly claim. I think I read a claim that Mathematica 10 would run a Mathematica 2 notebook. Maybe, but not necessarily a Mathematica 7 notebook. The graphics paradigm comes to mind again. It is not at all uncommon to extract information from a graphic by extracting primitives. Roman Maeder was showing how to do it back in Mathematica 2. However, WRI keeps adding new graphical structures and changing the old ones and that breaks a lot of code that depended on it. Sometimes it might be worth the price but often it’s just ad hoc. And sometimes WRI introduces new problems. An example is that Graphics3D has an option Lighting. It no longer works. Instead Lighting options must be put in the specification of each surface drawn. Serious Mathematica users cannot live with this kind of stuff.

  4. “Mathematica somehow fails to live up to its apparently unlimited potential for encapsulating creative thought-product …” Exactly, but there are only a very few who think this way. I’ve written an essay at my web site where the second sentence is: “This essay is directed to individuals who are using Mathematica to develop a base of knowledge and a set of capabilities centered on some subject matter.” It’s a way to accumulate knowledge and capability, preserve work and communicate with colleagues. Perhaps it is too difficult for most users. Although the basic layout has been designed by Wolfram Research, and its a good one, they have not entirely smoothed the path. For example, many users have difficulty with style sheets. Style sheets for an application should be in the application. Mathematica will find them. But they confuse users with an Install Style Sheet button that will not install the style sheet in the application. Before Mathematica 6 there was a documentation system that was available to everyone because it simply used a txt file - not as good as the present system but not bad either. The documentation system is no longer available to everyone but only those who have Premier Service. It uses Wolfram Workbench 3. This is not even a regular product but is obtained by special request. That indicates to me that there are probably not many users actually using it.

  5. The Wolfram Research business and pricing model gets ever more complicated. I know of one academic who, because of complications, just chucked Mathematica because they didn’t have what they needed when they needed it. Another part of the business model is the question of who is going to develop the Applications: Wolfram Research or independent developers? I think it should be independent developers because Wolfram Research can’t be experts in everything. By not strengthening and easing the core part of Mathematica for creating Applications they are losing this resource. When I looked into marketing some of my Applications at WRI they wanted 80% of the sales price, just for providing a blurb and download link. That’s ridiculous, this isn’t book publishing! I went with the Kagi store, which takes 10% and provided better service.

  6. Diffuse effort. Instead of perfecting the “Application” model for building capability over time, Wolfram Research has been drawn into many other endeavors. Many of them have excellent merit but altogether it may be too much to chew at once. Some of them are a bit silly such as converting 140 character Wolfram Language programs for Twitter. And why should all Mathematica computing be drawn to the cloud, instead of just retrieving small pieces of information?

I will not go directly to the application topic, since I think that some background is of interest. Also, I don’t have one specific application, but I will actually be talking of the application I do of it. So, I’m on the category (from David Park answer):

There are many more who use Mathematica in their work but many of them say it is very difficult to get others in their company to use it.

I work at the engineering department of a big commercial company, on the area of water treatment (we design, build and operate water treatment plants). I’m not a programmer, and my formal training (and day to day work) is on sanitary engineering (a specialization of environmental engineering).

Our typical engineering tools are MS Office and CAD softwares (besides some other specialized commercial softwares for very specific tasks, plus an ERP, etc.)

On most of my use of Mathematica, I can’t say that it would be the unique solution, but, for me, it is the most productive solution, both in time and cost (which is the same thing, but also not exactly).

I basically started to use it as a MS Excel substitute, or an Excel on steroids. Excel is probably the most used tool in the engineering environment. It is so ubiquitous that, when a client, partner or supplier asks for some particular calculation share, they are expecting a MS Excel spreadsheet, and nothing else; no need even to discuss on it. But, as soon as we want to evolve on our use of this calculation tool, it starts to become too much of software engineering (inventing strategies to accomplish things that it was not designed for) and not our own field engineering. I think of this limitation as equivalent to trying to build the ultimate slide ruler, linking lots of sliders, rotating disks, translation curves, etc., into a single cardboard…, when computers are available… (its a mental image I have…, that kind of graphically shows the absurd limitation). I have tried Matlab several times in the past, but never found it adequate for my needs (I guess it depends a lot on the details of what the person exactly does).

Introduced to Mathematica 5.2, I started using it more and more, and, at the same time, adventuring more and more on computation fields that I would not have dreamed of. And yet, I have been working on the same engineering field for the last 17 years.

While using Mathematica, I started to see my thinking process change, I would even go to the point of saying: radically change. I passed from one variable to full space exploration, and from (fictitious) exact engineering, to taking into consideration uncertainty and measuring the risk.

Here’s a time sequence that, while being false/simplified, in someway explains the use I gave and give to Mathematica:

  • prototyping tool for algorithms being programmed in VBA (simple programming)
  • exploration of analytical solutions for some differential systems (true CAS)
  • package development for some calculations, substituting Excel on the daily work, but not package selling (automation, more sophisticated programming work)
  • Dynamic interfaces for client exploration of our design concepts (Dynamic, Manipulate, etc)
  • CAD interfacing for direct calculation of 3D networks (graphs functionality, etc)
  • analysis of temperature, humidity and wind direction at multiple sites. As a funny example, for instance, checking wind direction predominance, to determine floating debris accumulation points, on slow flowing water systems. (use of the online curated databases)
  • image processing of 2D data acquisitions from laboratory experiments (use of the image processing capabilities)
  • machine learning algorithms for multiple tasks, including on image data / film processing (use the machine learning new capabilities)

Obviously, this is a very short list, and does not exactly reveal all the uses I gave to it since version 5.2. But I think that one interesting thing it reveals is that, along the addition of functionality, I have added the new fields into my daily work AND NEED, while still being on the same job.

Would I have guessed that, one day, I would be applying machine learning and image processing to my daily work? Definitely not. It is not my core field, and very far from it. So, is it a real need or a need that I have invented? I think that there’s no actually distinction of those two, but I can say that the use is real, and the cost (learning curve) / benefit has been extremely advantageous (when I say learning curve, I’m thinking on it being so short for the new fields that are added, that I can just apply them without actually thinking that I’m learning them). Do I really learn this new fields to the point that I can say that I master them? As with most other tools, in order to avoid mistakes, its application needs some intelligence. But, I think that the equilibrium I’m getting is of extreme benefit.

You mentioned CAD capability. Does it make sense or not that Mathematica goes in that direction. I can say that I’m eagerly waiting for a more complete regions framework (mesh and non mesh being mixed by boolean operations, etc.), and for it to be faster, for a very specific need I have on the CAD world; and I can say that I’m pretty much at ease with CAD software, working, on average, at least one hour per day, and having programmed some add-ins for some CAD packages). Of course that Mathematica is (currently?) extremely far away from covering the functionalities of CAD tools. And also that CAD tools are currently very far away from covering computational environments’ functionalities. And, although connection seems the obvious solution, some particular applications (like mine), work better if the integration is absolute. I’m even thinking on candidating to the next Wolfram Innovation Summer School, to help me on one of my less standard projects.

So, although I haven’t mentioned on my list: Regions, FEM, and other of the new stuff, I know that for a lot of them it is just a matter of a few more months for me to start to need them… Some I haven’t used because they are still not well fine tuned. Others, like FEM, are a little away from my preference, which would have been FVM, but still a good addition, for which I have practical uses in mind.

But, for instance, why don’t I just use a specific image processing tool from the market? I think that the answer is integration. If it is integrated on a well known environment, I can just start using it, with a very favorable learning curve, and mixing up with other fields, without being a programming specialist.

To answer directly to your post:

applications in mathematics (symbolic logic)

Not my case

Mathematica’s primary usefulness is in encouraging a kind of intellectual dilettantism

I don’t think that this is my case. I apply it to real life cases, from which I take monetary benefit, on a very competitive environment.

of the hype around Mathematica

I have always found it interesting that one can use superlatives for a lot of products, including a lot of software products used on the engineering field (of any kind and any cost), and yet, for some other products, its use is judged abusive and offensive. I guess this comes from the duality and the distance, on many aspects, between the commercial and the academic world.

Mathematica somehow fails to live up to its apparently unlimited potential for encapsulating creative thought-product across an almost unlimited span of human intellectual endeavor

I think that all tools are doomed to fail on such a big phrase. But, I give credit for trying, and also, for not being so far away from the target (in relative terms). Considering that I make real use of some functionalities that I never thought I would be using, I think that the tool has achieved something. Do I see shortcomings? Yes. A lot. And yet, I just keep using it.

(i) money changed hands (e.g. a commercial product was sold, or consulting fee earned) ; and

Working in a commercial environment, on the modern world, while producing something that doesn’t bring money back, is currently impossible. So, my work with Mathematica is being consciously paid for.

(ii) an alternative solution was considered and Mathematica preferred for specific reasons (“it was the only software we could afford or that was available to tackle the job”, is not a valid reason to qualify the application as real-world, according to this definition)

Alternative solutions are constantly being used by my peers. I have used alternative solutions, and I’m forced to go back to them from time to time. And I can’t emphasize more the “forced” word.

And, from David Park’s answer:

  1. Mathematica and the Wolfram Language are difficult to learn.

I think that difficulty is relative. I think that it has to be seen as an effort / benefit ratio. What happens is that the effort is not always possible. But passing away from the benefit is less and less affordable.

One thing they might do is to give users freer access for adding to the documentation, maybe like Wikipedia

I agree. Like two sections: WRI and Community section

  1. Mathematica is not as stable over versions as they nonchalantly claim.

Probably true. I, myself, prefer a good design to a backwards compatible design. I think that this depends on how you use it. If we make a lot of development on it, having to review it every single time there’s a new version, can indeed be annoying. It’s not my case, and I actually wish they were more actively correcting not so well design features.

  1. Diffuse effort. Instead of perfecting the “Application” model for building capability over time, Wolfram Research has been drawn into many other endeavors.

Indeed. Although, its clear that what is currently presented is a product that can cover many more user applications, and that, because of it, starts to get more known. Eventually new users bring money, and money brings development resources. I think that adding new entire fields, from one version to the other, is great. It is probably the balance between the maintenance of the existing ones and the development of new ones that is not fine tuned. On my personal case, what borders me is the fact that many bug reports (the ones that are really bugs), take so many versions to get fixed (and I’m talking of bugs that do have a fix, and not bugs that are on the edge of human knowledge). I have hope on the new momentum the fast release track has brought, and I’m just hoping for that equilibrium to be found.

So, some conclusions:

  • I use it on a commercial environment.
  • It allows me to do things that I couldn’t do before using it.
  • It has been fun to follow Mathematica development, and to belong to its community of users.
  • Some fine tuning (including less bugs, etc), is in need…
  • … and yet, there’s still a lot of functionality and entire fields that I’m missing.

And, as Conficius said:

Choose a job you love, and you will never have to work a day in your life.

Mathematica helps a lot on that direction.

  1. Combining graphics is as easy as Show[{graphics1,graphics2,graphics3,..}] which is quite easy I would say :wink: I’ve made many many Graphs in Mathematica, and never had a problem, and where necessary I made my own plot routine, which you can, really easily. I don’t know any other products that supports such a customisable and wide variety of plotting routines!
    You can also write by default ‘like a sheet of paper’ right?

    Graphics[{Blue,Rectangle[{0,0},{3,4}],Red,Point[xydata], Green, Line[xydata2]}]

I would say it is not ‘extremely difficult’ at all! very easy, just combine the primitives and plots you like using Show/Graphics/Graphics3D ! that’s it!

  1. I’m not sure what you are talking about, Lighting → Neutral works as it should:

    Graphics3D[Sphere,Lighting->{{“Directional”,Orange,{{0,0,4},{0,0,0}}}}]

and has always worked like this as far as I can recall. As far as extracting parts of graphic, I always remind myself this will be version specific, the primitives it creates might be different per implementation. So if you rely that it produces Rectangles, but now it gives rectangular Polygons (in another version), that should be easy to catch in subsequent version using a new rule. But I always try to stay away from these practices, it can be done, but that doesn’t mean it should be done… You should customise directly using the plot routine and then combining with e.g. Show, or Epilog/Prolog.

  1. Isn’t the entire documentation available online?? Wolfram Language & System Documentation Center ?

I find your definition of “real world” kind of weird:

“money changed hands” surely does not equal real-world. Because now you exclude basically all academics! A HUGE number of academics do there analysis using Mathematica/Matlab/… without getting money for it! It is to publish something. But not directly getting money.

I’m one of the very few in the group that I’m working in that uses Mathematica, but if I compare speed of building software to do analysis, Mathematica trumps any Matlab implementation. Nearly all the code is shorter, more legible, and much faster to implement. I generally have little programs done while the others are still struggling to import some data or so… Of course that varies a lot on what you do exactly!

There are some terrific replies here, which I want to spend time thinking about before responding. However, I did want to answer Sander’s point about my “weird” definition of real-world, because it has come up elsewhere.

The definition is somewhat strained, I agree, but deliberately so - one of the concerns I expressed about Mathematica is that it may encourage a kind of “intellectual dilettantism”. One way to distinguish between genuinely useful endeavor (whether commercial or research-oriented) and dilettantism is that the former creates value (hence worth paying money for), while the latter typically does not. I would argue that genuine academic research falls within the ambit of my definition, since academics are paid researchers (albeit paid quite poorly, in many cases). While I agree that the end-goal of academic research is publication rather than financial reward, the former is generally regarded as part of the job-description (“publish or perish”).

That said, even if we allow that academic research falls within the scope of the definition, I can allow that the wording is deliberately skewed towards commercial applications. This, too, was deliberate, because Wolfram’s success depends no less (and perhaps more) on its penetration of commercial markets than its adoption in the academic world. (The reason is probably self-evident: commercial organizations tend to pay full-freight; academic institutions do not). Wolfram itself recognizes this. As evidence, I would point to the fact that most, if not all, of Wolfram’s “customer stories” involve commercial applications.

To sum up: it may be that one ultimately draws the conclusion that the real benefit of a product like Mathematica is to be found in its applications in academic research. But I would suggest that is not a view that would likely be acceptable to Wolfram, even if it were true.

I think you have to give an example in order to say if it will be worthwhile to code it in the Wolfram Language, or if another (C#, LabView, Excel, Matlab, Python,…) if better suited. I specifically added also not-real programming languages like LabView and Excel. If one wants to work a lot with tables in a grid like pattern, than Excel might be much more useful than to use Mathematica or Matlab. Also LabView can be incredibly useful if one wants to control a lot of external apparatuses. The coding (drawing) is very slow and not very coherent and often leads to spaghetti code… but in some things it is far superior. If you want to make a simple program that does some image-analysis, Mathematica might be a very good place. However I would not use it controlling external apparatuses; simply too complicated. Or if you want to make software that periodically creates graphs from live data, Mathematica might be very useful to do that!

I think all the graphs that are made by it and published in all the journals are all good examples of real-world use I would say! Or all the theoretical derivations made using it, also very good real-world usages. Or the courses in Calculus that use Mathematica to get students familiar with integration and differentiation, again, very good real-world use. If you’re talking about real-world application deployed online (like WA), yes those are limited, but all the small little ones that are not ‘deployed’, but rather small script that people run to edit/analyse/view/process data; I’m sure these are used in a lot of places.

Thanks for posting it here. I think the discussion it generates is interesting. StackExchange would not have given room for such a discussion. I wanted to make sure you understood that your post was not closed on SE because people object to it. It was closed because the format didn’t fit.

I used Mathematica for the launch risk analysis for the Cassini mission to Saturn. Perhaps that should be regarded as an “other-world” application. My role was the uncertainty analysis. I used Mathematica for prototyping calculations and for separating variability from uncertainty.

Frank - your application qualifies on every level, I would say. I for one would be interested to learn more (perhaps in another post?) about the distinction you seek to draw between variability and uncertainty.

I wanted to point up a couple of additional “real-world” applications with which I am familiar.

  1. DataModeler. Evolved Analytic’s genetic programming add-on makes use of Mathematica’s facility with symbology to perform symbolic regressions. It is in many ways an ideal application, since its plays to several of Mathematica’s strengths in symbolic representation, while adding real value to the core product.

  2. UnRisk - Another Mathematica add-on that focuses on derivatives pricing (which in many cases can be handled very effectively in Mathematica as close-form analytical solutions). It looks to me as if WR made a deal to incorporate UnRisk’s functionality into the core product around version 8.

Other examples are listed here.

variability is a natural phenomenon. uncertainty is in the human mind. today it rains, tomorrow, it doesn’t. that’s variability. a forecast of 40% probability of rain illustrates uncertainty. Mathematica was used to “deconvolve” uncertainty from variability.
http://scitation.aip.org/content/aip/proceeding/aipcp/10.1063/1.54746

Jonathan,

I hesitate to respond, because I’m not sure I understand your perspective. Your two criteria for “real world application” seem contrived on purpose to make it difficult to satisfy them. Your item (ii), for example, is self-contradictory. If there is no other application that does the job better than Mathematica, then why shouldn’t Mathematica get credit? And item (i), is a very rigid, specific bias. Is Excel not useful in the real-world, because most users don’t re-sell Excel “applications”?

Again, I’m not sure what your perspective is, but you seem to want to compare Mathematica (or Wolfram Language) to development languages/platforms that generate stand-alone applications. Perhaps that is a direction Wolfram is heading toward, but I’ve never viewed Mathematic in that light. Mathematica IS the product/application. There are myriad problems for which Mathematica offers a space for exploration, solution, invention, analysis, etc. At the end of all of that, if there is no stand-alone application to sell, then you dismiss it as not real-world and therefore (I infer) not particularly valuable. That’s fine if that’s your perspective, but why should I feel compelled to accept your perspective? Or, to put it bluntly, what’s your point?

I’ve seen Mathematic in contexts that I consider real-world: Public school education, Private professional training, Generating assets for book publishing, Engineering problem solving, Alternative to Excel, Alternative to PowerPoint, Data analysis, Prototyping.

These observed real-world usages are mostly “accidental”, in that I’m not really in a position to hunt for Mathematica in the real-world, and so I suspect that others could expand this list greatly. I don’t think anyone is making a claim that Mathematica is a silver bullet that solves all real-world problems, nor that Mathematica’s breadth of functionality is such that no other applications will ever be needed. So, again, I’m curious about the point you’re trying to make, what actual relevant question you’re trying to ask, or what methodology suggests your specific criteria.

David, just some thoughts:

(1) Difficult to learn. Mathematica was, for me, one of the easiest programming languages to learn. The sheer size of it, as you say, makes it time-consuming to become familiar with all of its functionality, but that is a completely different issue, in my opinion, than learnability.

(2) Difficult graphics. I’d really like to know which graphics-oriented applications you use that are easier than Mathematica. Granted, in specific contexts, like CAD-CAM, there are very powerful niche applications that outshine Mathematica in one sliver of functionality, but I’ve never worked with an application whose general graphics capabilities are broader or easier than Mathematica. And there is a great deal of what you call correlation. Mathematica’s graphics functions all follow very strong patterns and conventions. There is a real disconnect here, because I don’t recognize Mathematica at all in your criticism. Frankly, I don’t know how it could be more like “drawing on paper”–that’s almost literally how it feels to me.

I felt exactly the same regarding point #2…

David Park’s post contained a lot of interesting points. But one comment in particular caught my attention, because I found it rather shocking:

I haven’t done a thorough search but I suspect that you won’t find a single Mathematica notebook or CDF document on physics archives.

Can this really be correct, does anyone know? Can it really be true that Mathematica’s penetration of the market for physics research is so limited?

I would find it quite remarkable that Mathematica has enjoyed so little success in a field so closely tied to its core competencies. But perhaps I shouldn’t be surprised; no less shocking to me is how few professional econometricians and statisticians make regular use of Mathematica. I am not claiming for one moment that no professional researchers use Mathematica to do econometric or statistical analysis - just that I don’t know any amongst my quite wide circle of contacts in those fields. They all use something else: Matlab, Gauss, RATS, Stata, etc. This is despite the fact that Mathematica has all the necessary capabilities (and more) to carry out this kind of research.

So there may be something interesting going on here, which I suspect has less to do with the technical challenges of the product (which of us has not struggled with the idiom, from time to time?) and more to do with WR’s business model. There is a lot more to say on that topic, but first I would be very interested to get some qualitative feedback from subject matter experts about their experience of the usage of Mathematica in their own field of expertise.

It is quite limited indeed; I, myself, have used it throughout my bachelor, master, PhD and now postdoc. But I was already using before in high school too. But I’m one of the few who uses Mathematica, ‘everyone’ is obsessed with Matlab! And also books tend towards Matlab… I think it is because a lot of people think Mathematica is only for equation solving, and have no idea it can do (almost) everything Matlab can do.

Can this really be correct, does anyone know? Can it really be true
that Mathematica’s penetration of the market for physics research is
so limited?

David is referring to publishing documents or articles in the CDF format. This is something completely different from using Mathematica as a physicist, and it’s different again from publishing Mathematica packages related to physics.

It is very hard to estimate how many physics journal papers may have used Mathematica during research because Mathematica is not typically acknowledged. My impression as a physicist is that should be a significant percentage …

Regarding packages related to physics, just take a look at hepforge: there are plenty of Mathematica packages there. HEPForge > Projects List

Yeah it is different, but if one is totally fixated on Matlab, one will not publish it in Mathematica CDF files…

Eric,

Let’s dispense with any continuing misunderstanding of the criteria I specified to qualify an application as “real-world”. I did NOT say that the application had to be “re-sold” in order to qualify. What I said was that “money changed hands”. This could involve re-selling (and I gave several specific examples of such applications in subsequent posts) or it could involve consulting fees. That deals with the straw-man objection that my criteria would disqualify Excel as a real-world application - because vast sums of money have been earned in consulting fees in relation to projects in which the deliverables included an Excel workbook and/or VBA code. As if that was not enough, I went on to make clear that “money changed hands” also included applications that were developed by paid researchers, because their salaries constituted money changing hands. Enormous sums are expended on the salaries of Wall Street quants, almost every one of whom, in my experience, makes extensive use of Excel. So - subject closed.

You asked what my perspective is. It is to find an answer to the simple question: what is Mathematica for?

I went on to make the specific point that, yes, of course, you can treat Mathematica as a Swiss Army knife, capable of duplicating what can be achieved in Excel, Powerpoint, Solidworks, or any number of other software programs. But if that is ALL Mathematica is, then frankly it’s pretty unimpressive; because not only are there existing, often less expensive products that can do these things - but they can often do them more easily, or better than Mathematica. Sure, you can manipulate a spreadsheet and do Pivot Tables in Mathematica; but why on earth would you? Just because you can?

So the question I am really asking is: what are the core elements of Mathematica that make it unique, exceptional or which give the user a competitive advantage vis-a-vis other software tools? And I went on to ask the question, are there any such competencies, other than mathematics itself, specifically symbolic logic?