MathGroup Archive 2008

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

Search the Archive

Range of Use of Mathematica

  • To: mathgroup at
  • Subject: [mg88810] Range of Use of Mathematica
  • From: "David Park" <djmpark at>
  • Date: Sat, 17 May 2008 05:30:16 -0400 (EDT)

For some years now 'AES' (actually Professor Anthony E. Siegman, McMurty
Professor of Engineering Emeritus at Stanford University) and I have engaged
in a running dialog on the extent of Mathematica's usefulness in preparing
research material for publication. I believe that AES's basic position is
that Mathematica is fine for doing computer algebra (traditional CAS
operations), numerical calculations and generating starting graphics for
publications. But then he advocates using outside programs for perfecting
the graphics, doing typesetting and preparing the final publication. He
thinks that "..even attempting (to combine these functions in Mathematica) .
is inherently a bad idea."


I suspect that this is, in fact, the procedure employed by most Mathematica
users involved in research and publication.  Not being myself extremely
prolific in publishable ideas, and in recent years only publishing a few
Mathematica papers, which were in notebook form, I'm not in a position to be
too critical of AES's position and I do respect his experience and knowledge
in these matters.


What I have been interested in is using Mathematica to study various
textbooks and subjects to attempt to learn some modern mathematics and
physics. In doing this I have always wanted to produce notebooks that looked
like textbooks or research papers. Not having publication as a primary
objective, I have been willing to stay with Mathematica all the way. What I
have learned is that with Mathematica I can produce notebooks that look like
regular publications. I have to admit that this does require extra effort in
the way of writing convenience routines that define and format various
objects one may be dealing with. But it does not involve more work that
buying additional, often expensive, applications and learning their
installation, syntax and operation, and how to export Mathematica results to
these programs. If one already has and knows well these additional
applications, before coming to Mathematica, then AES's approach is the
natural one. For those who come to Mathematica first, I think it would be
far easier to work in Mathematica as far as possible. I don't see why one
couldn't write an entire paper in Mathematica and then print it as a PDF


Even if one uses Mathematica strictly for CAS work and numerical
calculations, it is still necessary to write definitions and routines for
processing the objects one deals with. I do not see why there should be an
artificial line between extra routines that calculate and extra routines
that format. And, in any case, having nice presentations of objects is often
an integral part of calculating with them and understanding the theory.


Having this preference for Mathematica notebooks, and looking at many
textbooks and papers, I will go one step further, many will say right off
the edge! Mathematica notebooks are inherently FAR SUPERIOR to static
printed documents. They are so superior that I can't understand why anyone
would want to transform to printed documents. A Mathematica notebook is to a
printed document as the Parthenon is to its floor plan. Forget that static
printed papers are the standard of today. They won't be in the future.


I'll give two examples where printed documents fall short. The first is the
general matter of presenting mathematical proofs in textbooks. I find proofs
difficult and the limitations of the printed page do not make them any
easier. Proofs usually have structure, but in books and especially with poor
typographic layout, they often look like a run-on paragraph. Proofs often
need commentary and sometimes extended examples or subparts. Putting these
in the middle of a proof disrupts the structure of the proof and putting
them before or after disconnects them. So I take it as something of a
challenge to learn how to better present proofs using the active features of
Mathematica. I've written a Derivation container that can contain comment
and command expressions. The comments can be used to annotate the steps of a
proof or derivation. A command gives evaluated results of a Mathematica
statement, with a Tooltip of the generating statement. I've also designed
Sidebars, which are notebooks embedded within the main notebook that can be
launched by a button. These provide methods to clarify proofs and
derivations but there may be other and better methods, such as using TabView
for various sections of a proof. Every proof may require its own style of
presentation. I think there is much that can be done with Mathematica to
make the presentation of proofs clearer, more elegant and easier for
students and readers than anything possible in printed documents. If we
always think in terms of static printed documents we won't even take up this


As a second example, my wife and I are reading 'King of Infinite Space:
Donald Coxeter, the Man Who Saved Geometry' by Siobhan Roberts. Excellent
book! There, in discussing methods to visualize four dimensional space
Coxeter used the idea of slicing, and slicing from 3-dimensional space to
2-dimensional space as practice. So there were pictures of sequences of
parallel sections slicing the Icosahedron (vertex first, edge first and face
first) and Dodecahedron. But these are very difficult to follow on a static
page. I could partially follow them and my wife was rather lost. How much
better to see these in a Manipulate statement where one could set the normal
to the slicing plane and slowly move through a regular polyhedron. It would
be especially nice if we could get the 3D slicing picture in one pane and
the 2D outline in a second pane. It sent me to the Demonstrations project to
see if this had been done but I couldn't find it, and I suspect it might be
somewhat difficult. But I did find some nice animations demonstrating
Euclidean solid geometry theorems by Isidor Hafner!


Still, I have some reservations about the Demonstrations Project, as popular
as it is. If forcing everything onto a static printed page is one
restrictive mode or presenting material, then forcing everything into a
Manipulate statement is another restrictive mode. Generally the
Demonstration projects are lacking in textual discussion, derivations,
methods of calculation, and because of that, generally difficult to actually
follow and learn from. The lesson to me is that we should not artificially
restrict Mathematica but use its full powers to present topics in notebooks
that follow a classical style of writing but employ the active capabilities
of Mathematica.



David Park

 <mailto:djmpark at> djmpark at


  • Prev by Date: Re: Expression manipulation
  • Next by Date: Re: DSolve question
  • Previous by thread: Re: overloading times operator
  • Next by thread: Re: Range of Use of Mathematica