MathGroup Archive 2012

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: V9 !!!

  • To: mathgroup at
  • Subject: [mg128901] Re: V9 !!!
  • From: Andrzej Kozlowski <akozlowski at>
  • Date: Mon, 3 Dec 2012 04:04:28 -0500 (EST)
  • Delivered-to:
  • Delivered-to:
  • Delivered-to:
  • Delivered-to:
  • References: <27741364.66688.1354273348209.JavaMail.root@m06> <> <>

On 2 Dec 2012, at 11:01, Murray Eisenberg <murray at> wrote:

> However, I've always had mixed feelings as Mathematica has grown to
> build in more and more mathematical functions. At times this has taken
> the edge off what was a valuable exercise for my undergraduate students:
> defining more complicated functions -- e.g., div in vector analysis or
> nullSpace in linear algebra -- that forced students to understand the
> precise underlying definitions and algorithms. And it tended to take
> away a sense of power and accomplishment when students could start by
> defining the simplest kind of function, such as performing a single
> elementary row operation, and step-by-step building ever more
> complicated functions, culminating in something relatively
> sophisticated, such as finding the orthogonal projection of a vector
> upon the span of a given set of vectors, and even going further, such as
> using the latter to find the least-squares solution to an overdetermined
> linear system.

But what stops you from continuing to do this once Mathematica has these 
new functions? In fact, one of my favourite methods of teaching 
Mathematica and mathematics at the same time is to ask students to 
emulate with their own code some particular mathematical function that 
exists in Mathematica. There is a great deal one can learn by doing this 
sort of thing. The the existence of a Mathematica function in this 
situation (particularly a well documented one) is actually a great 
bonus. Besides, of course, there is a difference between the needs of 
teachers and those of researchers and other users - for many purposes 
user defined functions are too inefficient for serious work (and even 
more so when these users are not expert programmers). On a personal 
level: I spend a great deal of  my time developing mathematical 
structures in Mathematica, but far from being dismayed when they are 
made obsolete in new versions by more efficient built-in functions, I am 
always happy and excited when this happens. This is because almost 
always the existence of these new functions opens up new possibilities, 
and quite often things that were quite unrealistic in earlier versions 
become easy in a new one. From my perspective, the most exciting thing 
about Mathematica 9 I have noticed so far is the ability to easily 
simulate various stochastic processes with functions such as 
RandomFunction, ContinousMarkovProcess, ItoProcess, etc. This alone is 
worth the upgrade even though it makes many and perhaps most of my 
contributions to the Wolfram Demonstrations Project obsolete. But that 
it the price I am happy to pay as I can already see a number of new 
things that I can now do with these functions that did not appear ever 
worth attempting before. The same thing happened with the upgrade from 
version 7 to 8, with the appearance of the FinancialDerivative function.

The presence of these new functions in no way makes it more difficult to 
teach students the algorithms behind them, but it also makes Mathematica 
the best tool I know of for development and application of advanced 
financial models, particularly in the area of derivative pricing (in 
which I have been interested for many years).

Of course anyone developing tools for Mathematica for commercial 
purposes will have "mixed feelings" when Wolfram Research, with all the 
advantages that it has, builds-in functions that make these tools 
inefficient and obsolete. However, this is no different from the 
experience of many developers of commercial software that suddenly finds 
itself competing with functionality included in the operating system. I 
have been a user of Apple Macs almost from the beginning and I remember 
many times reading and hearing complaints from software developers about 
"unfair" competition from Apple. But now we know that this process is 
unstoppable and today a vast number of things that once used to need a 
commercial (or shareware) program are now either done by the operating 
system or by programs freely provided by Apple with the latest version 
of Mac OS. (The same thing is true in the Microsoft world). Developers 
of these programs have either given up or have found a way to add value 
to their programs which is sufficiently large compared to what if 
offered form free by Apple, to make them still worth their price to at 
least some users.

I will take this opportunity to respond to a typical "straw man" 
argument in another response to this post. I am referring to  "those who 
say that Mathematica users should never buy a third party application". 
I have never read anybody write anything so ridiculous in this forum so 
I would like to see some references (if they exists). In fact, I  myself 
have purchased third-party applications which, not surprisingly, have 
eventually become obsolete, but I would never give this as a reason 
against buying them. They more than paid back their price once and I 
also learned a lot from them. The point I have tried to make is this: 
before a user decides to purchase a commercial package he should first 
master enough Mathematica to judge whether the kind of things he wants 
to do with it  can be done without much effort with the standalone 
version or not. The decision should be his and it should be an informed 
one. What I object to is habitual pouncing on new and obviously not 
fully informed users, without even fully finding out their real needs, 
and suggesting or insinuating that they should bypass the necessary 
learning process by buying a commercial add on package. Also, even when 
an add-on package is found useful, it should never be a reason for 
skipping the need to learn such things as basic syntax and the working 
of the very basic (non mathematical) programming constructs. This is 
also the main reason why I am less than enamoured with packages that 
provide supposed "short-cuts", that often only appear to be such to 
people who have not mastered the foundations of the language.

Andrzej Kozlowski

  • Follow-Ups:
    • Re: V9 !!!
      • From: Murray Eisenberg <>
  • References:
    • Re: V9 !!!
      • From: "djmpark" <>
    • Re: V9 !!!
      • From: Murray Eisenberg <>
  • Prev by Date: Re: Mathematica for windows crash
  • Next by Date: how to orient Polar Plot 0 Degrees at the North Pole
  • Previous by thread: Re: V9 !!!
  • Next by thread: Re: V9 !!!