Group Abstract Group Abstract

Message Boards Message Boards

8
|
62.7K Views
|
55 Replies
|
95 Total Likes
View groups...
Share
Share this post:
GROUPS:

What are some real-world applications of Mathematica?

POSTED BY: Jonathan Kinlay
55 Replies
Posted 7 years ago

Hey guys, just to revive this topic. I am a mathematics graduate and I have used Maple and Matlab as the university offered the license for both. I used to use Wolfram-Alpha and wasn't familiar with Mathematica, however, I got a copy of it in 2016 and started practising with linear algebra, complex analysis, number theory, several variable polynomials and general calculus. During my learning curve, I found it quicker to master and ended up doing none maths stuff like linguistics, animal data, country info, forex trading etc. I became hooked and have continued to use it even though I am not a researcher or physicist. I like how it is a blank sheet and hey presto you put the Mathematica syntax of anything properly, boom here is your answer. Comparing to Maple, I liked Maple but hated the fact you have to load a package e.g (with LinAlg) or (with differential geometry) whereas Mathematica you just type your wolfram syntax on the page and boom Bob's your uncle. With Matlab, you type in the editor sheet and then run the code..... I used it for numerical analysis and some linear algebra. Haven't bothered with it since my 2nd year and never used the symbolic toolbox.

POSTED BY: Tonde Kush

Jonathan, I think that in my initial response I concentrated too much on what I consider some of the weak points in Mathematica and did not emphasize some of its tremendous capabilities and what I love about it. When I read your last post and many of the others the useful applications seemed to be calculating something in this or that specific field. It is like Mathematica is a super graphical calculator and has been used to obtain results and plots in a number of different applied fields. I would like to approach your question from a different point of view. Mathematica also has superb capabilities in two less considered general areas.

1) The clear presentation of technical information and concepts.

2) Building and accumulating long-term ACTIVE and useful knowledge.

It's not enough to calculate a result or carry out a derivation or devise a proof. It is also necessary to present the results forcefully and clearly. Mathematica provides important tools in this area. As an example of the kinds of considerations that occur here I'm copying out one section of an essay in my Presentations application on Writing Presentations:

"Much of what I do is influenced by the graphics books of Edward R. Tufte: The Visual Display of Quantitative Information, Envisioning Information and Visual Explanations. Tufte deals principally with representations of data; we wish to extend consideration to representations of scientific and mathematical concepts using classical writing combined with the active and dynamic capabilities of Mathematica. This vastly increases our abilities to present information and also the possibilities of bad design. Here are some maxims and guides I have gathered, some of them from my experience and some of them straight from Tufte.

1) Try to formulate a clear idea of what information is to be conveyed before designing a presentation.

2) Designing and executing a presentation will often (despite maxim 1) lead to discoveries, new insights, or even flaws in our basic ideas so be prepared to redesign theory and presentations.

3) Be honest.

4) Do not simply copy the forms of pre-Mathematica graphics and presentations. They were designed for much inferior static media.

5) When appropriate combine graphical, symbolic and numerical data in one dynamic display.

6) Humans understand actions better than static displays. Particular actions that illustrate the use of particular principles (for example the application of a particular axiom) are better than animations.

7) A dynamic presentation requires a fixed background such that the action illustrates the concept. As a specific example, a dynamic graphic requires a fixed PlotRange. A dynamic manipulation of an equation would have as the fixed background the truth value of the equation.

8) Significant ideas will almost always require multiple presentations combined with textual discussion. That is why I am dubious of the Demonstrations project and the use of a single Manipulate statement.

9) Always examine a presentation for ways to simplify or eliminate extraneous items. Anything that does not support the message obscures it.

10) A useful technique for a presentation is the use of check boxes to turn various elements of the display on or off. Certain parts of the display may pertain to only certain steps in a derivation or a presentation. By toggling them the reader can more easily identify them and by turning them off when not needed the rest of the discussion will be clearer. We in effect obtain many versions of a diagram in one space.

11) Strive to calculate everything. It proofs your work, provides you with future tools, and impresses the reader.

12) Bring the material to the reader where he is using it. Don't make the reader jump to a different part of the document.

13) Use sectional organization and grouping with minimal scrolling. Put some presentations in temporary windows on the side of the notebook so they can be examined while reading the discussion.

This is an exciting new medium. We have much to learn about how to use it effectively so these maxims may change or be expanded."

I'm still standing by my guns on Mathematica graphics. They're good but could be much better and easier. It doesn't matter how many lines of code it takes. A one-liner might be difficult to understand or to devise. Nor does it matter what other programs have. The question is: can the Mathematica graphics paradigm be improved? The answer is a definite yes. And without changing most existing usage because high-level set-piece plots could still be provided as standard constructions from accessible primitives. And a sophisticated user could have far more and easier control, if desired, by working with the primitives.

As for building and accumulating active knowledge: Mathematica supplies unique and extremely useful capabilities. This is the use of Applications as I described in A Mathematica Style. This isn't my idea. It's something that WR designed and I'm just reminding you of it. Here are some places it can be useful: a student studying some course; a scholar writing a major work (I would call them actomes for 'active tome'); university courseware; a research project; development of a commercial application. There is nothing else like it. There is no competition. It is not just a single document, or numerical result, or demonstration or plot. It's a comprehensive collection of active routines in packages, notebooks, papers, style sheets, palettes, documentation and tutorials. It can be constructed over time and with experience and learning. It's useful. It's the very opposite of "dilettantism".

As for those who don't have Mathematica: too bad for them. It's for "the happy few". Maybe they aren't that few.

POSTED BY: Jonathan Kinlay
POSTED BY: Jonathan Kinlay
Posted 10 years ago

I have degrees in EE, math, and physics, and have worked in engineering disciplines for about 45 years. My work has included electronics engineering, embedded system programming, material science, optical engineering, and physical modeling. The first years were done with Fortran and a slide rule. The last 20 with computer tools which have become more capable each year.

For the past 10 years I have worked mostly as a consultant in optical design and physical systems modeling. I use Zemax OpticStudio for lens design and Comsol Multiphysics (an FEA tool) for mechanical, electrical, and thermal modeling. They are each better at what they do than Mathematica.

I have been a Mathematica user for a bit over 20 years -- since version 2.

First, if all Mathematica did was "encourage a kind of intellectual dilettantism," it would be well worth the price. I have been an intellectual dilettante my whole life. Always interested in some new thing, often around science and mathematics. For me, it's the only kind of life worth living. And Mathematica's contribution to this has been enormous. And this has been a very practical endeavor. These entertaining explorations have almost always found a use in some later for-pay endeavor.

However, to specifically address the question, here are some practical uses I have made of Mathematica:

  1. Optical design tools rely heavily on optimization capabilities. But you cannot just give them some arbitrary starting point and expect good results. The first part of the job is to use prior work or first principals to define a design which roughly meets the various system requirements. Optical matrix methods are well suited to this. I use Mathematica to describe propagation of a few trays through a trial layout. I can even include unknowns in the symbolic description and solve for them to gain insight, or to solve roughly for element positions and focal lengths.
  2. With the same tool set, once an optical design has been done, it needs to be toleranced to predict the performance which will actually be obtained given manufacturing uncertainties. I use Mathematica to analyze the output of Monte Carlo runs to develop survival statistics which relate yield to the choice of specifications and binning.
  3. In the most recent release of OpticStudio, there is a .NET API. I will certainly continue to use the tools user interface for design work ans simple analysis. But I am now driving OpticStudio from Mathematica using NET/LINK for more complicated analyses of design behavior.
  4. In another job a few years ago I was modeling a piece of semiconductor equipment as it goes through heating and cooling processes. For this purpose, the system was adequately describe as coupled heat reservoirs, each of uniform internal temperature, coupled by thermal conductivities. Its really an easy problem of 1st order diffeqs. A complicated tool could have been used, but I had a useful model, with T vs time graphs, in minutes.
  5. For the same company, I spent a great deal of effort analyzing defectivity in a wafer-scale manufacturing process, seeking cause. Mathematica is a great tool for that.
  6. I recently needed an amplifier capable of driving a 10 uF load capacitance from DC to 50kHz. I used Mathematica's control system tools to design a feedback network to stabilize a commercial audio power amp IC for those specifications. At the start of my career, this would have been done with Laplace transforms and a slide rule. With Mathematica, the step response of this design on my oscilloscope looked just like the graph output by Mathematica.

This is a few of the concrete uses I have made of Mathematica in the past few years. But it does not come close to describing it's true usefulness. It somehow gets opened up early in any piece of work, and not closed until the end of the day. One very important reason for that is that, at its heart, it is a symbolic math tool. For me, the first step in looking at most problems is to look at the mathematical dependencies. This means looking at equations and relationships in symbolic form. After that, even more intuition can be gained by trying real numbers and viewing these relationships graphically. Mathematica excels at both these tasks.

I also have had the experience of seeing Mathematica fail to take hold in an engineering group. It seemed to center around three issues. The first was a threshold between starting up and obtaining a result. I have seen a lot of engineers trying to get a simple graph for an afternoon meeting go to Excel in frustration. Or because they had trouble importing data to begin with. These issues have been getting better, but WRI needs to do a better job of providing start-up training online. The collection of training videos on the Wolfram site needs a complete overhaul. The second issue is making the transition from a procedural language (like C) to the functional programming paradigm. This is something that is difficult to demonstrate in a completed notebook -- it's about the process, not the end product. The third issue is the deplorable lack of debugging tools. This is especially a problem when you need to develop a large single function in a single cell. (a result of the functional paradigm) The usual suggestion is to insert print statements. REALLY? This is how we debugged our Fortran programs 40 years ago. Modern programming tools have had good debug environments -- single step, watch lists, breakpoints -- for ages. And engineers are used to this. This has been completely neglected by WRI. Workbench is poorly documented, and so lacking in commitment and support that you have to ask for a beta Workbench 3 just to get it working with version 10. There is a built-in debugger, which is also poorly documented. I inquired about it from tech support a year or two ago -- They suggested I use Workbench. This is a very important issue. New engineering users which encounter such a primitive debug environment will consider the tool disqualified. Mathematica is a great tool. Getting new users over the threshold, to the point where they see benefits, should be a priority.

Best regards,

David

POSTED BY: David Keith

Frank, if I were to summarize as follows:

Mathematica's distinct competitive advantage lies in symbolic logic and symbolic manipulation and its principal areas of application are those in which such features are of primary importance, such as mathematics and mathematical finance. Everything else is just "me-too" functionality, of no special significance.

Do you think Stephen Wolfram would agree? What do you think he would argue?

POSTED BY: Jonathan Kinlay

I'm not an expert in Matlab. I've used it for a couple on-line courses, including convex programming and computational neuroscience.
I think that Mathematica's symbolic manipulation is a distinct advantage but I think there are other advantages. Mathematica supports procedural, rule based and functional programming. Matlab only has procedural programming. Also, in Matlab, the core data type is a 2nd rank matrix of real numbers whereas Mathematica is more general. I started an online course on probabilistic graphical models but dropped it because I got frustrated with trying to deal with higher than 2nd rank objects in Matlab.

POSTED BY: Frank Kampas

What about the annoyance of having cells, structures, and arrays (matrices?) which are just 'list' in Mathematica.

POSTED BY: Sander Huisman

Yes, it was the cells and structures that drove me crazy in the probabilistic graphical models course.

POSTED BY: Frank Kampas

Frank, I would certainly argue that symbolic manipulation is a core competency of Mathematica and an area in which it enjoys a distinct competitive advantage. Question is, is there anything else?

POSTED BY: Jonathan Kinlay

Many! What about calculations with regions? How about GPS data and plotting them on maps?

How about the integrated knowledge? You need the viscosity of ethanol? Boom there it is! You need the wind direction in honolulu in christmas eve in 2004? here you go! You need the volume of dodecahedron? Done! largest building? check! Mountains? Yes! Bridges? jup! All the stuff you can imagine for any element or isotope? Sure thing! genomes, planets, volcanoes, countries, cities, calendars, aircrafts, airports, dictionary, ...... This is EXTREMELY useful. Not only do you have acces to it directly, it also is immediately in a format that you can work with, no need to import files and 'decode'....

POSTED BY: Sander Huisman
Posted 10 years ago

My co-question in this regard: do someone think that the very concept of 'symbolic manipulation' is friendly for anybody outside WRI (sub)world? I'm not saying about attempts to make "introductory explanations" with the concepts of the same flavour.

POSTED BY: Timur Gareev

Bianca - oh, I forget to thank you for the anecdotal evidence in favor of Mathematica in the context of physics research.

I wonder, is Mathematica the market leader in that field, would you guess? Is it a mix of the usual suspects? Or is there some dominant market player, like Solidworks in CAD?

POSTED BY: Jonathan Kinlay

No idea, sorry. I'm sure it strongly depends on the sub-field (I'm in theoretical solid-state physics) and the university or the "tradition" of the research group. We use a lot of Fortran because there is an existing code base and it makes very little sense to translate it; we also use both commercial and open code from other groups which is all written in Fortran. One of our projects is in C. Any code that has to be fast has to be compiled, so those two would be the natural choices. Smaller pieces of code like scripts for analysis are a mix of different shell flavors, awk, Python, Mathematica... basically depending on who wrote it and whether it's supposed to run on a Linux cluster or on a Windows pc. Gnuplot is also quite popular for quick plots as well as publication figures, and a few people like Origin. As for Matlab: No license -> no usage.

POSTED BY: Bianca Eifert

In Mathematica, symbolic manipulation is part of the core functionality. In Matlab, it is an add-on.

POSTED BY: Frank Kampas

Bianca,

I largely agree with your point about Mathematica providing a framework for add-on products, rather than a stand-alone application. (That said, I am not 100% certain that WR would agree - or, rather, I think they would like it not to be true, somehow: perhaps through the use of CDF or cloud-based applications.)

Anyhow, everything you said applies equally to competitor products like Matlab. So the question becomes, what are the specific advantages of Mathematica in relation to its immediate competitors? In which areas of application does it excel? Are there any? Or is the Swiss Army knife analogy apposite?

POSTED BY: Jonathan Kinlay

You're absolutely right, my points above won't give us new insight when comparing Mathematica to Matlab. You know, it's really very telling that we instinctively consider Matlab to be the direct competitor (and I'm sure it's true if you do some market research). Because if we actually considered the Wolfram Language "another programming language", then we'd compare it to Python, Ruby, R... Maybe not to C or Java, but any of the highly abstracted interpreted languages would seem like a natural point of reference.

I do believe that Wolfram Research wants to go in a direction of establishing the Wolfram Language as a language, I think that's quite obvious. Let's see what becomes of that. It's a great tool by any name.

Personally, I can't give you any thoughts on Matlab because I've never used it - quite simply because my university has no site license, and it doesn't seem sufficiently different from Mathematica to make me want to buy a personal license. (Certainly not when there are so many languages out there that I can learn for free.)

POSTED BY: Bianca Eifert

As far as Matlab vs Mathematica, it should be noted that there are free online courses that teach Matlab and others which use Matlab. In many of these courses, a temporary license is provided. I've suggested to the sales team that Wolfram Research do something similar but have been told that the videos provided on the web site are just as useful. I don't agree with that statement.

POSTED BY: Frank Kampas

I suppose the free cloud plans may be useful for someone who just wants to try out the language...

POSTED BY: Bianca Eifert

I've read this thread with great interest, and just wanted to say that I feel @Eric Rimbey has touched upon a very important point. We can't really compare the Wolfram Language to other programming languages in a context of commercial software development.

With other languages, you can create a stand-alone application that your customer buys and uses. Emphasis on stand-alone. There may be all sorts of challenges on the developer's end of things: Packaging interpreters or libraries with the final product, or buying additional tools to do something-or-other. But the customer shouldn't worry about any of this. (Shouldn't even notice it, ideally.)

With the Wolfram Language, the user basically needs a Mathematica license. Is your application amazing enough to push that additional cost and hassle on the customer? No? Well, then you can only sell to existing Mathematica users. That means that the developer is confined to producing add-ons to an existing software suite. There's nothing wrong with that at all, but it's a completely different market compared to software development done in other languages.

In some fields, this may not matter because Mathematica is wide-spread already. In other fields, CDFs or a web service doing some computation on the seller's servers may suffice, and a stand-alone program isn't even the target. Those are the fields where you will find successful Wolfram Language applications.

By the way, this is what people usually mean when they say that the Wolfram Language isn't really a programming language.

Edit: I would like to emphasize that for all the other cases of "money changing hands", this is not particularly relevant. I just wanted to comment on the "programming language" aspect of Mathematica.

POSTED BY: Bianca Eifert

You can produce Wolfram Language stand-alones applications that run without license via wolframscript. Apparentely very few people know it, and even less people know how to do it. I run my wolframscripts everywhere I can with no license.

I also recently discovered this great way to deploy!

POSTED BY: Jack I Houng

Jack, ditto:

Are you able to give some specific example of how Wolfram script enables you to deploy stand-alone applications? I'd like to dig into it a little more, as it may be that I (and others) are missing a trick...

POSTED BY: Jonathan Kinlay

Are you able to give some specific example of how Wolfram script enables you to deploy stand-alone applications? I'd like to dig into it a little more, as it may be that I (and others) are missing a trick...

POSTED BY: Jonathan Kinlay

Szabolcs, yes I caught the distinction and blurred it, deliberately. Because I was trying to frame the question in a broader context - how widely in Mathematica (WL) used in physics research, generally? You said that your

impression as a physicist is that should be a significant percentage

Well, thats the point. My impression as a professional econometrician might be that Mathematica is widely used in econometric research. But that impression would be wrong. How do I know what? Because it is customary for researchers in that field to mention in their research papers the software used in the research (not always, admittedly). And, as I mentioned, I know quite a number of them.

Sander's experience mirrors my own in this regard, it appears.

So the question stands: can anyone (an academic researcher in physics) offer any anecdotal evidence about the usage of Mathematica in that field?

POSTED BY: Jonathan Kinlay

I'm a PhD student in physics, and in our group, we use Mathematica to analyse data and prepare figures for publications. We don't publish as CDF, because the relevant journals want PDF. We could certainly go the extra mile and offer a CDF for download as supplementary material, but so far I haven't seen that. (Haven't specifically looked for it either though.)

We also use Mathematica in teaching, mostly because the excellent documentation system makes it so easy to grasp for complete novices, and because it already comes with all the functionality that you might have to install separately in some other languages. (Like graphics capabilities in 2D and 3D, or all sorts of specialized functions.)

POSTED BY: Bianca Eifert

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?

POSTED BY: Jonathan Kinlay

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.

POSTED BY: Jonathan Kinlay

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.

POSTED BY: Sander Huisman

Honestly, I think it's plain old intertia. When first walking into an environment (class or research group) where either Matlab or Mathematica is used, most people won't use the respective other program just for the heck of it. They will use what everyone else is using, which makes a lot of sense (learning and exchange). Matlab and Mathematica are just too similar to steal users from one another in significant numbers, they can both only hope to get to the newbies first and gain a foothold that way.

POSTED BY: Bianca Eifert

True indeed! My previous university switched from Maple to Mathematica 1-2 years ago. So now students will 'grow up; with it (I guess). Though for the experimental physics I've seen very little usage of Mathematica, for theoretical, yes, lots of use!

POSTED BY: Sander Huisman

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. https://www.hepforge.org/projects

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

POSTED BY: Sander Huisman

Physicists may use Mathematica for calculations, using notebooks as scratch pads or programming sheets. But then they copy out the results and insert them into a LaTex file to eventually produce PDF files, which they load up to the physics archives. They don't use it that much for communication - something it can be really good at. This is mostly my guess so maybe others can give more data. And perhaps there are a few who can see Mathematica applications as a long term development platform but it's a little like the density of intelligent live in our galaxy. Why aren't they here?

One problem may be that there are not enough technical people who have Mathematica. You can't count on communication in general with Mathematica notebooks. CDF documents were supposed to be the solution. In my opinion they are not good enough yet. It is not possible to send packages and style sheets with a CDF document and any one who has developed capability with added routines will probably use them. Of course, once many people see good CDF documents they will probably go to Mathematica - so why not just go to Mathematica notebooks in the first place?

There is a need for people to see good long term applications for accumulating capability. There may be good ones out there but they may also be quite private. Who wants to share their proprietary expertise?

The reason to choose CDF over PDF would be a desire to include interactive functionality. But if you publish a paper as a PDF, you can still offer a link to additional material: A Youtube video, an app on your website, or maybe a publication on the Wolfram Demonstrations Project (hey, why not). And yet, with a traditional paper, you're on the safe side: People who think that the interactivity is too flashy and maybe not entirely super serious can just ignore the link (relax, it's just a footnote, the actual paper is totally super serious).

That aside, most researchers are just not free in how and where they publish: If it's not in the "usual suspects" group of journals (preferably with a high impact factor) and you can't find it through the field-relevant search portal, you might as well publish on the sidewalk. In chalk. Before the rain.

For more informal communication (e.g. direct exchange between coworkers), a Mathematica notebook will often do just fine, and generating a good-looking CDF is a bit of an unnecessary step. And if your coworker doesn't use Mathematica, you're better off finding a data and presentation format that both of you can actually edit.

POSTED BY: Bianca Eifert
Posted 10 years ago

I totally agree with this post and it seems to me that I share same (positively inclined, by the way) concerns with Jonathan. There is 90% of the concern on the part of business model and communication strategy. I would say, it seems there is a lot to be done to UNDERSTAND the behavioural patterns of new (potential) users, especially in corporate (!!!) sector. I'm not quite sure that target users are well-defined at all - there is a nice mixture of cure-it-all and niche ad-hocery. Self-reference criterion is almost always a poor adviser, but I remember a lot of caveats on my road to Mathematica (absolute independent on any background or tutors advices). I believe that I've passed the starting 'death valley' of the road, but looking back, I feel surprised that I passed them. And these are not only technical issues. So "sleeping potential" of MMA is a great task for research, as marketing so academic. (I'm not saying here about simple QWERTY effects and network externalities that are obvious form many posts).

POSTED BY: Timur Gareev

I would just like to comment on this one:

I would say, it seems there is a lot to be done to UNDERSTAND the behavioural patterns of new (potential) users, especially in corporate (!!!)

Actually, if the corporate world was such a relevant target market, Excel Link would not be an add-in, let alone sold as an extra (now that it is managed/owned? by WRI).

Have Player Pro, or Enterprise signed CDF, communicate with Excel (or a CAD system, or a ...). Have a message appear, near the clock / notification bar, each time the kernel is launched, saying "your computations are now being powered by the Wolfram Language" (or every x minutes on a non pro, non Enterprise signed scenario). And all that large amount of several hundred/thousand employees companies that just have one single Mathematica license, will, at the very least, see a considerable growth on the amount of potential users that have heard of the Wolfram Language.

Afraid of someone duplicating all functions of Mathematica, by just "re-branding" them into an Excel add-in? As for the CDF restrictions, if it is illegal, wouldn't that be enough? Or, actually, wouldn't it be a complete marketing success if it happened? Is the Wolfram Language potential paying market really the type of market that will put itself into illegal scenarios? Before CDF, we had to have our dynamic content distributions signed directly by WRI. Would that reduce the fear factor? (although, not sure how many corporates would be accepting that...)

The Private Wolfram Programming Cloud is another technology that seems to have been packaged to enter into the corporate world by the front door, while we, in the corporate world, know that the most successful entry is made by the insiders... Make a free version and sell tokens (similar to the public cloud, but with the price reflecting the fact that processing hardware and maintenance is by the client). This makes it by-pass all sorts of budget check-points, while it is gaining momentum. A lot of software is more and more based on tokens (from the very small vendor to the several times "bigger" than WRI offering vendor). The current starting cost not only needs to get approved by two hierarchical levels (on the companies I know), but also needs to be on the year budget from the start... This makes its entry extremely difficult. Make it accessible by the passionate (that will just put $25, from his own wallet, to give it a try), and make it grow, with time, to the full time no token product.

Just my 2 cents... (the amount of times I discussed, in the past, the above corporate related topics, have probably already accumulated to a Dollar...)

POSTED BY: Pedro Fonseca
Posted 10 years ago

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.

POSTED BY: Eric Rimbey

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.

POSTED BY: Jonathan Kinlay

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.

POSTED BY: Jonathan Kinlay

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

POSTED BY: Frank Kampas
POSTED BY: Frank Kampas

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.

POSTED BY: Jonathan Kinlay
POSTED BY: Sander Huisman

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!

POSTED BY: Sander Huisman
POSTED BY: Pedro Fonseca

2) Combining graphics is as easy as Show[{graphics1,graphics2,graphics3,..}] which is quite easy I would say ;) 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!

3) 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.

4) Isn't the entire documentation available online?? http://reference.wolfram.com/language/ ?

POSTED BY: Sander Huisman

I challenge you to make the last graph of yours in Excel and in 10 'lines'! I think you just proved that it is really easy, all your examples are like 10 lines! I don't know any other software that can do that and still be reasonably readable and adjustable with such low amounts of lines.

Yes sometimes you have to wrap a Graphics around, and yes it is better to stay away from Epilog/Prolog if you combine some graphics, there is always room for improvement. But knowing that, i think it is very easy. I think your examples proof my point more than disproof it...

POSTED BY: Sander Huisman

What David Park writes is totally sensible: the built-in Mathematica syntax for graphics has definite limitations, especially for the newbie (and sometimes for the expert, too).

As to his example with the disappearing Text given in the Epilog of a Plot when combined with a Graphics inside a Show, the documentation for Show does provide the reason, under the "Possible issues" category, namely: "Show uses the options from the first graphic."

POSTED BY: Murray Eisenberg
Posted 10 years ago

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.

POSTED BY: Eric Rimbey

I felt exactly the same regarding point #2...

POSTED BY: Sander Huisman
Posted 10 years ago

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

I would like to express my support to this idea. One example of another company doing this is the case of MySQL. Here you can see the official documentation for the SELECT statement and it is followed by user comments. Sometimes the comments end up being an essential to understanding the official documentation.

In regards to the original question of this thread, I work at an engineering company and I use Mathematica for:

  • Fully automated reports generation and sending my email
  • Development of tools for our internal use that run with the CDF Player (this requires the Enterprise license.)

And yes. I am sure that this could be done with different technologies, but I am also sure that it would take much longer to develop (if ever developed).

POSTED BY: Gustavo Delfino
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard