MathGroup Archive 2009

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

Search the Archive

Re: Re: Simplifying and Rearranging Expressions

  • To: mathgroup at
  • Subject: [mg96051] Re: [mg96008] Re: Simplifying and Rearranging Expressions
  • From: Andrzej Kozlowski <akoz at>
  • Date: Tue, 3 Feb 2009 06:32:30 -0500 (EST)
  • References: <gls1u8$hjl$> <15441402.1233316177571.JavaMail.root@m02> <gm0q6p$rpr$> <>

On 1 Feb 2009, at 10:40, AES wrote:

> In article <gm0q6p$rpr$1 at>,
> "David Park" <djmpark at> wrote:
>> Nevertheless, I would still argue that users should be encouraged  
>> to do
>> derivations completely ACTIVELY using Mathematica. They may think  
>> about the
>> principles, strategy and tactics of a derivation when they are away  
>> from
>> Mathematica. But implementing a derivation or proof actively on  
>> Mathematica
>> has many advantages.
> I'll back down on my recent assertions on this point.  People doing
> analyses should do them in whatever way works for them, and both David
> and I can well have different but valid suggestions on this.
> What I'm not at all ready to back down on at all-- and what Andrzej
> Kozlowski appears to agree with me on, at least partially -- is the
> broader assertion:
> Proposing to do analysis; numerical calculation; graphing and  
> animation;
> and preparation of final expositions or presentations (i.e., reports,
> articles, talks, online web sites), using just one massive  
> "integrated"
> package (e.g., Mathematica) and/or one single format (e.g.,  
> Mathematica
> notebooks), is an absolutely bad, undesirable, misguided, unworkable
> idea.
> It may be workable, even convenient, in some limited cases:  A simple
> derivation, leading to a simple report or memo, which also functions  
> as
> a seminar presentation or class lecture.
> But as a general or universal approach, it's a terrible idea, for many
> reasons, not all of these connected specifically with Mathematica, but
> with many of them very well illustrated by Mathematica.

Well, I am not sure if I agree or not because I am not sure exactly  
what point you are making. In fact, when reflect on how I use  
Mathematica, it seems to me that I see a number of different issues  
that have been conflated in this thread. One of them is using  
Mathematica when (informally) working on mathematics. A different one  
concerns preparing a paper for publication (I call this "working  
formally"). Yet another one is when one is actually computing  
(programming). Yet another one concerns teaching. There is also at  
least one other, that I will describe at the end, and probably many  
more than I am not aware of.

One issue is how a program like Mathematica should be used when  
actually working ("informally") on some mathematics. I don't think  
there is any universally valid answer to this because there are so  
many different types of mathematics and so many different approaches  
to doing it.
I myself wear several mathematical and programing hats and each of  
them comes with a somewhat different working style. As an algebraic  
topologist I do most of my work in my head, with  the help of  
pictures, which I prefer to draw on a blackboard or a white board  
rather than on paper (the main reason being that whiteboards or  
blackboards unlike pieces of paper  do not have the habit of  
disappearing when one needs them). Writing graphic programs in  
Mathematica would not be of much use in this, for this pictures are  
symbolic rather than literal. But the new set of simple graphic tools  
that became available in Mathematica 6 is actually often quite  
sufficient for this purpose and I have found myself using them quite  
often for this sort of informal sketching.
The second stage of my work as a topologist is often computational.  
Part of this work is algorithmic and I some times use Mathematica for  
this (most often PolynomialReduce and GroebnerBasis ) and part  
requires human insight. The ability to transform one expression into  
another using Mathematica plays almost no role in this.

Most of the work that I do when I wear my (newer) probabilist's hat is  
also not suitable for computer based symbolic manipulation  since the  
concepts are too general. In my probabilistic incarnation I  
occasionally use Mathematica for performing certain algorithmic  
transformations, for example applying the (multidimensional) Ito  
formula to a complicated expression. For this kind of purpose, when  
expressions are sufficiently complex, I find using Mathematica more  
reliable than my own skills. But most of the time I just use  
Mathematica for informal writing of formulas and I rely on typing and  
copy and paste, just as I do when I wear my topologists hat.  These  
are almost never "live" formulas, since they refer to concepts that  
are not defined in Mathematica. For example, when you work with an  
integral  integral with respect to a semi-martingale (e.g. a Wiener  
process) you certainly do not want Mathematica to evaluate it as an  
ordinary integral.

Finally, there is my third incarnation: when I work on computational  
problems in mathematical finance or write a review of a paper on  
computational mathematics for Mathematical Reviews I work mainly in  
Mathematica (although again the reviews are written in TeX). This work  
consists essentially only of programing and does not involve any "step  
by step" symbolic manipulation.

All the above concerns informal working on mathematics. Writing for  
publication is a different issue.
When I write a research paper or a review I almost always use TeX,  
since only TeX is accepted by the journals I publish in.
But, I find Mathematica vastly more convenient than TeX for informal  
work. In fact, there is a big difference between the way most people  
do "informal mathematics" and the way things are presented for  
publication.TeX and Latex are intended for formal mathematical  
presentations but are totally unsuitable for informal work.  I  
certainly do not want to specify environments and all the rest when I  
am working informally. On the other hand, Mathematica is very suitable  
for informal symbolic manipulation and, if you become used to it and  
skilled at it, quite as natural and efficient as pen and paper, with  
the added bonus that Mathematica notebooks are harder to mislay and  
loose and don't clutter your workspace.  In fact I have been using  
Mathematica in this way for teaching purposes for a decade, doing  
computations "by hand" in Mathematica, displaying them by means of a  
projector and making my notebooks available for download for my  
students. Its much harder to do that with pen and paper.

Of course other people probably have quite different approaches, which  
are better suited to the kind of things they do.  But quite generally,  
I believe that symbolic algebra programs are best used for symbolic  
work that is too hard to do by hand. For example, I don't think it is  
an efficient use of computing power and human intelligence to try to  
force Mathematica to return an answer that is already well known and  
can be easily obtained by hand. Functions, like, for example  
TrigToExp, convert expressions to certain standard forms (in this  
particular case  trigonometric functions are converted to Logs and  
Exponentials). Reducing complex expressions to standard forms is a  
basic technique not just in computer algebra but in all of  
mathematics. (It is because of these standard forms that FullSimplify  
can sometimes show that two expressions are equal even if it cannot  
reduce on to the other.)  The "standard forms" that CAS systems can  
handle efficiently are sometimes quite different from forms of  
expressions that seem "nice" to human beings. Sometimes, more by  
accident than by design, applying a certain permutation of standard  
form transformations (perhaps together with Simplify) will lead one to  
one of these forms that humans like. Finding such transformations can  
be fun but one should keep the importance of such things in proper  
perspective. It is not greater than, say, that of sudoku puzzles.

Finally, let me address what seems to be your main objection:

> Proposing to do analysis; numerical calculation; graphing and  
> animation;
> and preparation of final expositions or presentations (i.e., reports,
> articles, talks, online web sites), using just one massive  
> "integrated"
> package (e.g., Mathematica) and/or one single format (e.g.,  
> Mathematica
> notebooks), is an absolutely bad, undesirable, misguided, unworkable
> idea.

I think you are missing the point of what WRI is doing. Nobody is  
trying to impose a single format on the world of mathematics, and  
nobody is trying to force mathematica users to abandon other programs.  
The best proof of that is the large number of export formats that  
Mathematica supports. The whole point of Mathematica "integrated  
approach" is entirely different. In my opinion it lies in the idea of  
"Mathematica Demonstration", as exemplified here:

I consider the Mathematica demonstration to be a truly remarkable and  
revolutionary idea. Why, I will try to explain below. First, I just  
want to note that this could not be achieved without a fully  
integrated system that Mathematica provides. That's why I don't expect  
that Mathematica will see any competition in this area for quite some  

Why I think these demonstrations are such a great idea? If you only  
glance superficially at the demonstration site you may think that they  
are merely cute animations and mathematical toys. Indeed, there are a  
few of this kind, but be not deceived. Many demonstrations contain  
fully functional code that can be downloaded by the user and after  
minor adjustment be used to solve serious real life problems. At the  
same time, the Mathematica demonstration provides a remarkably  
intuitive and lucid way of conceptualizing what otherwise would be  
more or less incomprehensible piece of computational code. Some of the  
demonstrations I have contributed are based on papers I reviewed for  
Mathematical Reviews. In my opinion, these demonstrations have far  
greater explanatory power than any number of words (certainly any  
number of words written by me). Some others attempt to elucidate  
concepts in Mathematical finance while at the same time providing code  
that can be actually useful in real world computations. In the case of  
mathematical finance, I think there is an almost universal agreement  
that in the past computational techniques were  emphasized too much  
while conceptual clarity was neglected. Mathematica now offers a  
unique way to combine conceptual description of a model with a  
mathematical solution through an analytical or numerical process. If  
more people contribute demonstrations adopting this approach the  
demonstrations site could become a valuable repository of reusable  
code accompanied by conceptual visualizations with a very wide area of  

In my opinion a Mathematica demonstration is much more than a "new  
format", it is a completely new form of expressing and communicating  
mathematical ideas. As such it justifies everything that WRI has done  
to make it possible - which is essentially everything that you are  
objecting to in Mathematica. But of course, you are always free to  
ignore these new features if they hold no interest for you. You are  
also free to use CalcCenter, which may well do everything that you  
really wish to use Mathematica for (I can't guarantee that as I do not  
really know either how you use Mathematica or what exactly CalcCenter  
can do).

Andrzej Kozlowski


  • Prev by Date: Re: MCMC in Mathematica
  • Next by Date: simplifying a resulted derivative expression
  • Previous by thread: Re: Simplifying and Rearranging Expressions
  • Next by thread: Re: Re: Re: Simplifying and Rearranging Expressions